请问 (float)(a+b)⼀2+(int)x%(int)y这样一个表达式在C语言中的存储形式为什么是单精度型?

2024-11-15 20:24:08
推荐回答(1个)
回答(1):

自动类型转换,所有量都向最“大”的那个量转换。

(a+b)是float,2是int,所以2会被转换为float,然后计算float/float得到float。x%y是int,接下来计算float+int,int也转成float,最后是float+float得到float。
如果你的(a+b)强制转换目标的double,那这个表达式最后得到也是double