> 其他 >
求(x*a++)-y/2.0+a%b的值 其中int a=5,b=3; float x=2.5,y=3.7
人气:151 ℃ 时间:2020-06-20 16:23:54
解答
(楼上的,y=3.7,不是3,还有如果LZ只是要问结果,还有提问吗?.)
a%b=2(a=5,b=3)
y/2.0=1.85(y=3.7)
(x*a++)=12.5(x=2.5,(a++)=5)
所以结果为12.5-1.85+2=12.65
那么你可能会问:a++,a不是变成6了么?
一个表达式中是从后往前执行的,所以在执行a%b时,还没有执行a++,因此a%b结果为2而不是0书上答案为10.65计算应该不是从后往前吧 赋值才是吧很明显,书上的答案是错的,我已经经过程序验证了,编书者一定是弄错了先后顺序,他可能认为先执行a++,再计算a%b 但实际上不是如此 话说,又见到你了楼主,昨天也给你回答了个问题 如果明白了请及时采纳一下~谢谢
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版