是啊,i的值只是被赋值给了变量a,他的值还是原来的值啊。所以就是5.6。a的值是5。
你如果输出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);
}
有不明白的地方留言就行。希望对你有所帮助。
a是整形,它是5
但是i的值还是没改变,所以还是5.6
a是i取整后的一个中间值,是与i不同的另一个变量,整个过程中i的一值没变,只是新生成一个整形a,所以i的值仍然是它原来的值
a=(int)i;的意思是将i强制转换为整型赋给a,i值不变。