c语言中怎么样一次性跳出多重循环

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:54:18
如果有个几重循环怎样才能一次性全部跳出,或者有选择性的跳出其中的几重循环,别说只能用goto啊……

break只能跳出一重循环.
有时候确实是这样,做完了一件事就可以全部结束了,然后跳出来,但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次循环,这是为什么呢?

如果后面直接退出可以用return如果还用的东西,应该只能用goto了吧
这样效率比较高……

ruturn或者设置标志flag。

用break语句

break