已知 i=5.6;写出语句 a=(int)i; 执行后变量 i 的值是5.6。为什么是5.6???

int定义的是整型,为什么最后输出的是实型
2025-02-28 14:06:01
推荐回答(5个)
回答1:

是啊,i的值只是被赋值给了变量a,他的值还是原来的值啊。所以就是5.6。a的值是5。

回答2:

你如果输出a的话,应该是5. i转换后的值赋给了a.i的值是没变的。
还原后程序为:#include
main()
{
int a;
float i;
i=5.6;
a=(int)i;
printf("a=%d,i=%.1f\n",a,i);

有不明白的地方留言就行。希望对你有所帮助。

回答3:

a是整形,它是5
但是i的值还是没改变,所以还是5.6

回答4:

a是i取整后的一个中间值,是与i不同的另一个变量,整个过程中i的一值没变,只是新生成一个整形a,所以i的值仍然是它原来的值

回答5:

a=(int)i;的意思是将i强制转换为整型赋给a,i值不变。