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;
}