声明
printf("%f\n",0.0f);
指纹为0。
但是,那份声明呢
printf("%f\n",0);
打印随机值。
我意识到我表现出了某种不明确的行为,但我不知道具体为什么。
所有位都为0的浮点值仍然是值为0的有效 float
。
float
和 int
在我的机器上是相同的尺寸(如果这是相关的)。
为什么在 printf
中使用整数文字而不是浮点文字会导致这种行为?
另外,如果我使用
int i = 0;
printf("%f\n", i);