为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么不会把可以整除3的数加进结果???

#include <stdio.h>

int main()

{

    int i, sum;

    for(i=1, sum=0; i<=20; i++)

    {

        if(     i%3==0   )    

        {

            continue;         

        }                  

        sum += i;

    }

    printf("sum=%d\n", sum);

    return 0;    

}


正在回答

2 回答

i=1时,1%3的结果不为0,进而if语句后的表达式不执行,直接执行sum += i,即0+1

i=2时,1%3的结果不为0,进而if语句后的表达式不执行,直接执行sum += i,即0+1+2

i=3时,1%3的结果为0,进而执行if语句后的表达式 “i%3==0”,接着执行continue语句,然而到了continue这一步时,本次循环中断,不再执行下面的sum += i,直接进行当i=4时的循环。i=3时的sum还是和i=2时的一样,即sum=0+1+2

5 回复 有任何疑惑可以回复我~
#1

一入编程深似海啊

说错了,i=2时2%3的结果不为0。i=3时,3%3的结果为0。
2018-11-06 回复 有任何疑惑可以回复我~
#2

慕圣2396141

遇到continue只会结束本次循环,所以不累加,直接跳到下一次循环,continue以后的语句一律不执行
2018-12-04 回复 有任何疑惑可以回复我~

感谢大佬

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问为什么不会把可以整除3的数加进结果???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信