第一个循环:
s+=i++ //, s是3+1,等于4,之后i++, 变成2
然后s%7==0条件不满足,跳到else ++i, i 成了3
第二个循环:
s+=i++; //s=4+3 = 7,i++ 为 4
然后s%7==0成立,运行continue,跳出该循环
第三个循环
s+=i++;// s = 7+4 = 11, i++: i=5
s%7!=0 => ++i: i=6
4th loop
s+=i++;// s = 11+6 = 17, i++:i = 7
s%7!=0 => ++i : i=8
s此时17大于15,循环不再继续
所以 i = 8
说明白比看明白难多了
关键点在于,s+=i++这句,等价于
s=s+i;
i=i+1;
这样的话能看明白了吧(注意先后顺序)
我心算一下....搞分真难....
第一次循环后:s=4,i=3;
2: s=7,i=4
3:s=11,i=6
4:s=17,i=8
while结束后,i=8啊