这个C语言题咋做..求大神讲解一下原理

有整型变量x,单精度变量y=2.5,表达式x=(float)(y*3+((int)y)%4)执行后,x的值为() 。
A)9.5              B)9               C)7                  D)9.0

y*3=2.5*3=7.5
(int)y,将y强制转换为整型,y=2,y%5=2%4=2
7.5+2=9.5
(float),将结果转换为浮点型,结果为9.5
虽然等式右边是浮点型数,但是x定义为整型,因此x=9
x的值是9,选B追问

就是说等式右边的变量类型服从于等式左边的变量类型?

追答

当然了,x定义为整型,等式右边的值并不能影响x的类型。

追问

好的谢谢你

温馨提示:答案为网友推荐,仅供参考
相似回答