C语言跳出多重循环方法 |
您所在的位置:网站首页 › 跳出多重嵌套循环return › C语言跳出多重循环方法 |
我们知道c语言的break语句只能跳出离它最近的一层循环,可是有时候我们需要跳出多层循环 那可怎么办呢? 比如有一个二维数组 判断如果有元素值为1 就直接将标识符设置为1 然后退出全部循环
下面雅乐网提供了几种跳出多重循环的方法 并不局限于上面的二重循环 例子只是为了提供思路 1. 使用goto虽然大多数教材和人都建议少使用goto语句,但是goto还是有它存在的道理,比如可以快速跳出多重循环。雅乐网认为在这种情况下goto是最佳的选择。 1 2 3 4 5 6 7 8 9 10 11 12 for ( i = 0 ; i if ( condition1 ) { symbol = 1 ; goto here ; } } } here :评分:★★★★★ 2. 写成函数 return 1 2 3 4 5 6 7 8 9 10 11 12 13 14 for ( condition1 ) { for ( condition2 ) { for ( condition3 ) { if ( condition ) { symbol = 1 ; return ; } } } }评分:★★★★ 缺点:循环嵌套很多的时候很麻烦 3. 直接修改外层循环条件1 2 3 4 5 6 7 8 9 10 11 12 for ( i = 0 ; i if ( condition1 ) { symbol = 1 ; i = MAX ; break ; } } } 评分:★★★★ 缺点:修改了循环控制变量 4. 在外层循环设置判断条件内层循环判断满足条件修改标志后 外层循环进行判断 1 2 3 4 5 6 7 8 9 10 11 12 13 for ( symbol != 1 && condition1 ) { for ( symbol != 1 && condition2 ) { for ( symbol != 1 && condition3 ) { if ( condition ) { symbol = 1 ; } } } }评分:★★★ 缺点:书写较为麻烦 未满足条件的时候有多余的判断 5. 在大循环后面判断标志加入break1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 for ( condition1 ) { for ( condition2 ) { for ( condition3 ) { if ( condition ) { symbol = 1 ; } } if ( symbol == 1 ) break ; } if ( symbol == 1 ) break ; } 评分:★★★ 缺点:同2 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |