嵌套循环跳转技巧-转

来源:互联网 发布:淘宝修改差评步骤 编辑:程序博客网 时间:2024/05/21 09:05

由于break语句只能影响它的最内层循环,要想立即从深层嵌套循环中退出,有哪些方法呢?

1、使用goto语句:

while(condition1) {    while(condition2) {        while(condition3) {            if(some disaster)                goto quit;        }    }}quit:;

要想在这种情况下避免使用goto语句,可以考虑以下两种方案:

2、设置状态标志:
当你希望退出所有循环时设置一个状态标志,但这个标志在每个循环中都必须进行测试:

enum{EXIT, OK}status;...status = OK;while(status == OK && condition1) {    while(status == OK && condition2) {        while(condition3) {            if(some disaster)                status = EXIT;                break;        }    }}

3、使用函数返回:
把所有的循环都放在一个单独的函数里,当灾难降临在最内层的循环的时候,可以使用return语句离开这个函数`由于break语句只能影响它的最内层循环,要想立即从深层嵌套循环中退出,有哪些方法呢?

0 0
原创粉丝点击