请帮助我理解以下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;
}
Run Code Online (Sandbox Code Playgroud)
输出gcc编译器
4.000000
0
4
Run Code Online (Sandbox Code Playgroud)
据我所知,当我们将float赋值给一个int变量时,变量的小数部分终止然后分配给int.
为什么在这种情况下没有发生?