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/05 04:04:03
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,

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,
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,

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明白了吗~