c语言如何跳出多层循环

如题所述

1、break语句退出循环时,它将退出离它最近的那层循环,无法退出多个循环。比如下面的代码,定义一个两维数组,不希望输出2行。
#include<stdio.h>
int main()
{
int a[3][3] = { {1,2,3}, //第一行
{4,5,6}, //第二行
{7,8,9} //第三行
};
for (int i=0; i!=3; ++i) {
for (int j=0; j!=3; ++j)
{
if (a[i][j] == 4) break; //进入第二行时break跳出,只跳出离它最近的for循环
printf("%d\n", a[i][j]);
}
}
return 0;
}

2、要退出多重循环,可以使用goto语句
#include <stdio.h>
int main()
{
for (; ; ) {
while (1)
{
goto end;
}
}
end:
printf("跳出轮回!\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-22
可以在每个循环里面加入break; 比如
while(1)

while(1){
while(1){
break;

break;

break;
相似回答