问答详情
源自:4-15 结束语句之continue语句

请问为什么不会把可以整除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;    

}


提问者:慕圣3392094 2018-11-06 19:24

个回答

  • 一入编程深似海啊
    2018-11-06 22:28:19
    已采纳

    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

  • 慕圣3392094
    2018-11-09 10:00:15

    感谢大佬