概述
在我们写二层循环时,若满足某一条件想要退出外层循环的时候,如果只写break就只会退出内层循环,代码如下:
int main(){
for(int i=1;i<4;i++){
for(int j=0;j<3;j++){
if(i==2 && j==2) {
break;
}
printf("(%d,%d)n",i,j);
}
}
printf("end");
}
我们可以从结果看出当i == 2&&j == 2时,只是退出了当前的内层循环,并没有退出外层循环,所以没有打印(2,2),后面的(3,0)(3,1)(3,2)依然打印。
以下为处理方法:
使用goto语句,可以为外层循环后的语句打个标签,然后goto这个标签就可以了。
int main(){
for(int i=1;i<3;i++){
for(int j=0;j<3;j++){
if(i==2 && j==2) {
goto flag;
}
printf("(%d,%d)n",i,j);
}
}
flag: printf("end");
}
这时我们可以看出,当条件满足i == 2&&j == 2时,直接跳出外层循环到flag出,跳出后从flag标签处的语句开始执行。
方法二:可以为内层循环加一个判断条件。具体代码如下:
int main(){
bool flag = true;
for(int i=1;i<3;i++){
if(flag){
for(int j=0;j<3;j++){
if(i==2 && j==2) {
flag = false;
}
printf("(%d,%d)n",i,j);
}
}
else break;
}
printf("end");
}
我们可以看出,这种方法也起到了退出外层循环的作用。
本人新手,若有错误,请大佬斧正。
最后
以上就是陶醉电灯胆为你收集整理的从内层循环退出外层循环的方法的全部内容,希望文章能够帮你解决从内层循环退出外层循环的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复