【发布时间】:2013-10-13 12:31:42
【问题描述】:
int main()
{
float a=4;
int b=2;
printf("%d\n",(a/b));
printf("%f",(a/b));
return 0;
}
第一个 printf 语句再次打印不同的不同值。我知道这是因为我将 %d 说明符用于浮点类型数。但我不知道实际工作。 还, 当我更改第一行时:
int a=4;
那么第二个语句正在打印
0.000000
一次又一次。那么为什么第一个代码中的第一个 printf 打印不同的值,但在第二个代码的第二个语句中,它打印相同的值? 谁能解释一下?
【问题讨论】:
-
你能粘贴输出吗?
-
使用 %d 打印浮点数会调用未定义的行为。所以无论程序效果如何,都是正确的。
标签: c