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/11/28 04:15:02
xQN@YRK4lPg
!F
1*̴]^:ƸqkL9s9%ڈuԶȤt%%mQZZiG>n#XQ-ȳʴg
$;BBЮ Ah_ JdR7_a`j kYW#S/bwL*7fjgHlݾz'h1G J:Hv4gw҆\40lՀBیj\Ll&7YՄhgV@(A&oWu?!n̉zZͣu6{R(cdſf]AƩ9cUV? 50n-
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