C语言退出多层嵌套循环技巧


由于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语句离开这个函数

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM