小编Mar*_*DGF的帖子

为什么当我将浮点数分配给 int 变量时,数字的小数部分会分配给我的下一个变量?

这是我试图理解的代码:

#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?

c variables

1
推荐指数
1
解决办法
46
查看次数

标签 统计

c ×1

variables ×1