int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f\n”,(float)a); A.62.000000 B.62.800000 C为什么答案是A,而不是B,

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/15 04:22:02

int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f\n”,(float)a); A.62.000000 B.62.800000 C
为什么答案是A,而不是B,

首先吧 你要看清楚 a 是 int类型的
在 a * =x * ('E '-'A') =62 ;
( 如果 一开始 a就是 float类型 就是 62.800000)
因为 a是 int 整型 小数位会被自动截掉
在printf 输出语句 强制吧a 转换成 float 浮点型 就是 62.000000
LZ明白了吗~