跳转至

究竟要执行多久

cmd_c()函数中, 调用cpu_exec()的时候传入了参数-1, 你知道这是什么意思吗?

参数的类型是uint_64,则传入参数-1(-1的补码表示0xFFFFFFFFFFFFFFFF)时,在经过了隐式转换后,变为了无符号数,可以理解为无限执行,直到遇到了异常或错误

#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>
void print(uint64_t n){
        bool is_positive = (n > 0);
        printf("%d", is_positive);
        for(;n > 0;n--){
                printf("%ld", n);
        }
}

int main(){
        int n = -1;
        print(n);
        return 0;
}