我正在运行C,我想知道为什么此输出显示“我89岁”。我知道变量currentyr和birthyr应该在年龄之前出现,但这仍然无法向我解释代码如何仍然无错误运行并产生89。我来自球拍,如果有问题,它所做的就是给我一个错误,而不是给我一个随机输出,所以我有些困惑。

int age;
int currentyr;
int birthyr;

age = currentyr - birthyr;
currentyr = 2018;
birthyr = 2000;

printf("I am %d years old", age);

最佳答案

在计算年龄之前,您应该初始化当前年份和出生年份的值:

currentyr = 2018;
birthyr = 2000;
age = currentyr - birthyr;

printf("I am %d years old", age);


现在最有可能发生的情况是,您的年龄差异是使用未定义的值或可能是随机值来计算的。

关于c - 这个数字是计算出来的还是随机输出的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53919462/

10-13 04:55