11.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c) 的值为:( ).A)6.0 B)0.0 C)6 D)为什么答案是0.0呢

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 06:25:34
11.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c) 的值为:( ).A)6.0 B)0.0 C)6 D)为什么答案是0.0呢

11.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c) 的值为:( ).A)6.0 B)0.0 C)6 D)为什么答案是0.0呢
11.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c) 的值为:( ).A)6.0 B)0.0 C)6 D)
为什么答案是0.0呢

11.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c) 的值为:( ).A)6.0 B)0.0 C)6 D)为什么答案是0.0呢
1/2*(a+b+c)
运算时,先算1/2结果是0,两个int数相除,结果还是int数据
再算0*(a+b+c) ,因为a b c中有float变量,所以结果为float类型数据0.0
这是一个运算类型隐式转换的问题,是计算机运算规定,转换原则为:
char ->short\ int\ long ->float -> double