作业帮 > 综合 > 作业

求(x*a++)-y/2.0+a%b的值 其中int a=5,b=3; float x=2.5,y=3.7

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 20:31:05
求(x*a++)-y/2.0+a%b的值 其中int a=5,b=3; float x=2.5,y=3.7
(楼上的,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 但实际上不是如此 话说,又见到你了楼主,昨天也给你回答了个问题 如果明白了请及时采纳一下~谢谢