永发信息网

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

答案:3  悬赏:0  手机版
解决时间 2021-04-03 16:49
  • 提问者网友:你独家记忆
  • 2021-04-03 10:06
#include<stdio.h> int main() { int i=1,s=3; do{s+=i++; if(s%7==0) continue; else ++i; } while(s<15);
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-04-03 11:11
第一个循环:
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
全部回答
  • 1楼网友:由着我着迷
  • 2021-04-03 12:49
说明白比看明白难多了
关键点在于,s+=i++这句,等价于
s=s+i;
i=i+1;
这样的话能看明白了吧(注意先后顺序)
  • 2楼网友:未来江山和你
  • 2021-04-03 11:44
我心算一下....搞分真难....
第一次循环后:s=4,i=3;
2: s=7,i=4
3:s=11,i=6
4:s=17,i=8
while结束后,i=8啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯