y+=i-=j*=++x,其中y=5.0,i=3,j=5,x=2.5,求结果和解答过程,谢谢

如题所述

++X = 2.5+1 = 3.5

x++
x=3.5
第二步计算 有类型转换
int型的j 参与运算
所以答案会强制转换为int型
所以j = 5 *3.5 = (int)17.5 所以转换后 j=17 (强制取整数位)
后面依次正常计算
i=i-j = 3-17 = -14
最后一步又涉及类型转换
y=y+i = 5.0 + (double)-14 = -9.0
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-05
结果得看你这y i j x 四个变量如何定义的
如果四个变量都是浮点型的话,那么结果就是9.5
因为赋值运算所以从右到左执行,先执行++x, x变成3.5, j*=3.5之后j就成17.5了,然后 i-=17.5之后i就成了-14.5, 然后y+=-14.5 就等于-9.5了

如果四个变量y x是浮点型,i j是整型的话结果就是-9.0,过程和上面一样,只不过会在给j赋值的时候把小数部分给清掉
相似回答