【发布时间】:2015-02-01 20:49:02
【问题描述】:
#include <stdio.h>
int main() {
int f,c;
int lower,upper,step;
lower = 0;
upper = 300;
step = 20;
while (f <= upper) {
c = 5 * (f - 32) / 9;
printf("%d\t%d\n",f,c);
f = f + step;
}
return 0;
}
我忘了写f = lower,但它也能运行并得到正确答案。我不能发图片。我认为这是错误的,因为它不能使用 Visual C++ 运行,但为什么呢?
【问题讨论】:
-
您的问题是什么?您是否在问为什么即使您忘记添加初始化变量 f 的行它仍然有效?
-
使用 indeterminate value is undefined behavior 在您的情况下,它似乎被初始化为零,但是一旦您调用未定义的行为,结果是不可预测的。
-
是的,我认为它已经磨损了。我正在学习 K&R。
-
在你的while语句中,f没有被定义。
-
这是否适用于 Dev-C++ 而不是 Visual C++ 或其他方式?