【发布时间】:2011-12-19 09:18:50
【问题描述】:
请帮助我理解以下 C 输出:
#include<stdio.h>
int main() {
float x = 4.0;
printf("%f\n",x);
printf("%d\n",x);
int y=x;
printf("%d\n",y);
return 0;
}
gcc 编译器的输出
4.000000
0
4
据我所知,当我们将 float 分配给 int 变量时,变量的小数部分终止,然后分配给 int。
为什么在这种情况下没有发生?
【问题讨论】:
-
你的意思是在最后一个打印语句中输出
x? -
最后
printf再次打印x,而不是y。 -
thnx all...我问了一个愚蠢的问题...代码中有一个错误...我打算在最后一个语句中打印 y