int j = 8, i = 6;
while(--i > 4) --j;
//这里只执行了一次循环体中的内容,初始 i = 6, --i 是先减去再比较 那么就是 5 > 4 成立,进入循环,再次判断条件,依旧是--i,上次减完后是5,--5=4
//4 > 4 = false,故不进入循环,退出,最后结果 j = 7
int j=8,i=6;
while(--i>4)--j;
首先,先说一下,--i 表示 i 在参与其他运算前 i 的值先减少1 ,而 i-- 表示 i 的值在参与其他运算后 i 的值才减少 1
--i 的意思是 i 在和4比较之前先减少1,也就是 i = 6 - 1 = 5,然后 5 和 4 比较 5 > 4 成立,进入循环,--j 也是一样,不过 j 没参加任何运算,所以不管它是先减1还是后减1,它的值都会减1,也就是 j = 8 - 1 = 7,然后第一次循环结束
第2次,i = 5 - 1 = 4 ,和 4 比较 4 = 4 不符合条件 --i > 4,所以循环结束,j 的值为 7
有帮助的话请采纳一下呀
首先看这个:
https://zhidao.baidu.com/question/119024530.html
第一次:
j=8;i=6
while(5>4) --j
j = 7;
第二次:
j=7;i=5
while(4>4) = false;
输出 j=7