工学1号馆

home

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

Wu Yudong    June 26, 2015     C   599   

原创文章,转载请注明: 转载自工学1号馆

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

 

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)