【发布时间】:2009-10-01 16:50:45
【问题描述】:
int main(void){
float x =1;
float y =2;
while (x<y){
x = x +1 ;
y = y +1;
}
printf("x is %d\n", x);
printf("y is %d\n", y);
}
我希望 x 和 y 增加到我们用完比特的程度,但在这种情况下 x 和 y 似乎总是 0...
【问题讨论】:
-
这个错误很容易犯,但犯错的人却很难。问别人,你会在一分钟内得到答案:)
-
事实上,浮点数没有 printf 转换说明符。转换说明符
%f需要一个双精度参数:幸运的是,当调用 printf() 时,浮点参数被转换为双精度参数。我的建议:永远不要使用花车;总是使用双打。
标签: c floating-point