一、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");
}
二、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");
}
三、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");
}
四、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");
}