#include<stdio.h> int main() { int i=1,s=3; do{s+=i++; if(s%7==0) continue; else ++i; } while(s<15);

2025-02-02 23:58:34
推荐回答(3个)
回答1:

第一个循环:
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

回答2:

说明白比看明白难多了
关键点在于,s+=i++这句,等价于
s=s+i;
i=i+1;
这样的话能看明白了吧(注意先后顺序)

回答3:

我心算一下....搞分真难....
第一次循环后:s=4,i=3;
2: s=7,i=4
3:s=11,i=6
4:s=17,i=8
while结束后,i=8啊