程序执行后的输出结果是

main()
{
int a,b,i,j;
a=b=j=0;
while(j<3)
{
j++;
if(j==1)continue;
for(i=0;i<3;i++)
{if(i>1)break;
a=a*10+i;
if(i<1)b=a;}
}
printf("%d%d\n",a,b);
}
continue,break跳出的是那个循环?看不懂

#include <stdio.h>

int main(void)
{
    int a, b, i, j;
    
    a = b = j = 0;
    
    while(j < 3)
    {
        j++;
        if( j==1 )
            continue;
        for(i = 0; i < 3; i++)
        {
            if(i > 1)
                break;
            a = a * 10 + i;
            if(i < 1)
                b = a;
        }
    }
    printf("%d %d\n", a, b);
}

帮你重新整理了一下排版,这样就比较明显地看出:1.continue是跳过while的;2.break是跳过for的。

排版对于阅读代码太重要了,一定要形成良好的习惯。

continue是继续执行while循环,但是本次循环中剩下的语句不再执行,直接进行下一次循环
break跳出的是for循环

img

结果如图:

img


continue是继续循环,break是跳出当前循环,只能跳出一层,比如本题中的if(i>1)break;,只能跳出一层for循环 while循环并不能跳出,continue语句是掠过下面的语句,从头开始执行循环

break 和continue都是作用于最近的那个循环也就是自己所处的循环