C/C++中break、return、continue和goto在循环语句中的使用

一、break

break用于多层嵌套的的while、for循环语句时,可以跳出最接近break的循环语句。此外还用于switch语句break当前case,以跳出当前switch语句。

int main(int argc, char **argv)
{
    printf("===>begin\n");
    for (int  i = 0; i < 5; i++)
    {
        if(i<2)
        {
            printf("=> i=%d, <2\n",i);
            break;
        }
        if (i<3)
        {
            printf("=> i=%d, <3\n",i);
            break;
        }                
        printf("===>test i=%d run\n",i);
    }
    printf("===>end\n");
}

C/C++中break、return、continue和goto在循环语句中的使用_第1张图片

二、return

return可以直接退出函数,把控制返回的函数的调用者。如果函数没有返回类型,可以直接return,否则,return语句必须返回这个函数类型的值。

int main(int argc, char **argv)
{
    printf("===>begin\n");
    for (int  i = 0; i < 5; i++)
    {
        if(i<2)
        {
            printf("=> i=%d, <2\n",i);
            return 0;
        }
        if (i<3)
        {
            printf("=> i=%d, <3\n",i);
            return 0;
        }                
        printf("===>test i=%d run\n",i);
    }
    printf("===>end\n");
}

C/C++中break、return、continue和goto在循环语句中的使用_第2张图片

三、continue

continue用于多层嵌套的while、for循环语句时,用来忽略循环语句块内位于它后面的代码而继续开始一次新的循环。

int main(int argc, char **argv)
{
    printf("===>begin\n");
    for (int  i = 0; i < 5; i++)
    {
        if(i<2)
        {
            printf("=> i=%d, <2\n",i);
            continue;
        }
        if (i<3)
        {
            printf("=> i=%d, <3\n",i);
            continue;
        }                
        printf("===>test i=%d run\n",i);
    }
    printf("===>end\n");
}

C/C++中break、return、continue和goto在循环语句中的使用_第3张图片

 四、goto

goto语句用于控制转移到由标签标记的语句。当多层嵌套的while、for循环语句时,break语句只能应用于最里层的语句,如果要穿越多个嵌套层,可以使用goto语句;goto语句是一种无条件流程跳转语句,对于有多层嵌套的while、for循环语句,可以直接跳转到最外层,但一般不建议使用goto语句,因为它使得程序的控制流难以跟踪,使程序难以理解和修改。

int main(int argc, char **argv)
{
    printf("===>begin\n");
    for (int  i = 0; i < 5; i++)
    {
        if(i<2)
        {
            printf("=> i=%d, <2\n",i);
            goto exit;
        }
        if (i<3)
        {
            printf("=> i=%d, <3\n",i);
            goto exit;
        }                
        printf("===>test i=%d run\n",i);
    }
    printf("===>end\n");

exit:
    printf("===>goto exit!\n");
}

C/C++中break、return、continue和goto在循环语句中的使用_第4张图片

你可能感兴趣的:(C/C++)