这是我试图理解的代码:
#include <stdio.h>
int main()
{
int i,j;
float x;
scanf("%d%f%d", &i, &x, &j);
printf("%d - %f - %d",i, x, j);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输入:
10.3 5 6
输出:
10 - 0.300000 - 5
所以这就是我想弄清楚的
为什么当我尝试将浮点值 ( 10.5 )分配给我的类型 int 变量 ( i ) 时,该值的小数部分会被扔到在 scanf ( x ) 中调用的下一个变量中?
发生了什么使计算机将 0.3 分配给x而不是 5?