我正在编写一个简短的程序来计算给定图形的右端点(此处未显示),因此为了避免繁琐的计算,我决定编写一个简短的程序来为我完成这项工作。然而我的C程序只打印出nan。我在C上非常生疏,但我不确定为什么我会得到NaN。
#include <stdio.h>
int main(void) {
int x;
float y, z;
for (x = 0; x <= 8; x++) {
y += 10.0 - (12.0 + (float)x) / 4.0;
printf("%f\n", y);
}
z = 0.5 * y;
printf("%f\n", z);
return 0;
}
答案 0 :(得分:1)
y = 10.0 - (12.0 + (float)x) / 4.0;
其次是
y = y+1;
这是有道理的,否则你y
未初始化会导致未定义的行为,因为y
的值是不确定的。
在声明过程中,您可以初始化y
并使用+=
运算符。
像
float y = 0;