这两道题的结果是为啥呢

img

img


这两道题的结果是为啥呢
浮点数那个,他不是定义为double了吗,必须要用10.0/4*4才可以结果为10.0吗

1,要这样强制转换(double) (10/4*4)
2.

img

(double)(10/4*4) : (10/4*4) ==> 10/4 = 2, 2*4 = 8,(double)(8) = 8
ch = 'B' + '8' - '3': ‘B’的ASCII值为66,‘8’的ASCII值为56,‘3’的ASCII值为51,ch=66+56-51=71='G'

表达式(double)(10/4*4)10/4*4按整型从左到右计算得10/4*4 => 2*4 => 8,然后再将整型8转化为double类型,结果仍然是8
表示式ch = 'B' + '8' - '3',加减法满足交换律,为方便计算,你可以先计算'8' - '3'5,‘B' + 5是字符'G'