c语言中怎么样一次性跳出多重循环
如果有个几重循环怎样才能一次性全部跳出,或者有选择性的跳出其中的几重循环,别说只能用goto啊……...
如果有个几重循环怎样才能一次性全部跳出,或者有选择性的跳出其中的几重循环,别说只能用goto啊……
展开
7个回答
展开全部
break只能跳出一重循环.
有时候确实是这样,做完了一件事就可以全部结束了,然后跳出来,但break只能跳出一重.如用goto有可能造成程序不稳定,事实上,绝大数人反对在C程序上用goto语句.
我一般是这样,设置标记,就是比如说:flag=0;就循环,如果要跳出来了,就令flag=1;这样子就可以达到目的了.
flag=1;
while (flag==1&&condition1)
{
while (condition2)
{
if(condition3)
{flag=0;break;}//这两句不反了!
}
}
如果是FOR词句,就改循环的计数.
有时候确实是这样,做完了一件事就可以全部结束了,然后跳出来,但break只能跳出一重.如用goto有可能造成程序不稳定,事实上,绝大数人反对在C程序上用goto语句.
我一般是这样,设置标记,就是比如说:flag=0;就循环,如果要跳出来了,就令flag=1;这样子就可以达到目的了.
flag=1;
while (flag==1&&condition1)
{
while (condition2)
{
if(condition3)
{flag=0;break;}//这两句不反了!
}
}
如果是FOR词句,就改循环的计数.
展开全部
没法,除非goto,其实还有更好的方法,不用goto,用双break:
在你的程序中加一个监视:
int num=0;
........(你的双重循环)
if(num==1){break;break;}
........
更有堪者你可以if(num==1){break;break;break;break;break;break;}
就是跳出6重循环,而且实践证明,这样做最多只能跳出255次循环,这是为什么呢?
在你的程序中加一个监视:
int num=0;
........(你的双重循环)
if(num==1){break;break;}
........
更有堪者你可以if(num==1){break;break;break;break;break;break;}
就是跳出6重循环,而且实践证明,这样做最多只能跳出255次循环,这是为什么呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ruturn或者设置标志flag。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果后面直接退出可以用return如果还用的东西,应该只能用goto了吧
这样效率比较高……
这样效率比较高……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
break
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询