作业帮 > 综合 > 作业

为什么a/=(b++)会先运算a/=b再运算b++?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 20:03:57
为什么a/=(b++)会先运算a/=b再运算b++?
int a=11,b=2;
do
{ a/=(b++);
}while(a>b);
得到a是1,b是4.为什么?++的优先级不是高过/=的吗?而且已经用括号括住了,为什么依然会先运算a/=b?
首先你说的++优先级高于/=没错,但是b++的意思是先使用b做运算后,在执行b+1,也就是说,第一次执行的时候,b=2 .所以结果就是a=1,b=4,而不是先算了a/=b 的缘故,事实上,先做++,再执行的a/=b!(++b是先执行加1,在使用b,这一点,你注意一下!)