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)
问题描述:
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\...1/2不是等于1么1/2表示 1整除2 ,结果为0(取商)1%2 表示 1对2取余数,结果为1(取余)