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

2024年11月15日 20:24
有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