博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++——C语言跳出多重循环方法
阅读量:6171 次
发布时间:2019-06-21

本文共 1273 字,大约阅读时间需要 4 分钟。

 

c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法:

 

1. 使用goto

for (int i = 0; i < MAX1; i++){    for (int j = 0; j < MAX2; j++)    {        if (condition)        {            symbol = 1;            goto outloop;        }    }}outloop://somecode

 

2. 写成函数 return

for (){    for ()    {        for ()        {            if(condition)            {                symbol = 1;                return;            }        }    }}

 

3. 直接修改外层循环条件

for(int i = 0; i < MAX1; i++){    for(int j = 0; j < MAX2; j++)    {        if(condition1)        {            symbol = 1;            i = MAX1;            break;        }    }}

 

4. 在外层循环设置判断条件

内层循环判断满足条件修改标志后 外层循环进行判断:

for(;symbol != 1 && condition1;){    for(;symbol != 1 && condition2;)    {        for(;symbol != 1 && condition3;)        {            if(condition)            {                symbol = 1;            }        }    }}

 

5. 在大循环后面判断标志加入break

for(;condition1;){    for(;condition2;)    {        for(;condition3;)        {            if(condition)            {                symbol = 1;            }        }        if (symbol == 1){            break;        }    }    if(symbol == 1){        break;    }}

 

参考资料:

https://blog.csdn.net/u011475211/article/details/42041783

转载于:https://www.cnblogs.com/oddcat/p/9700277.html

你可能感兴趣的文章
nginx反向代理缓存服务器构建
查看>>
RHEL6 搭建LVS/DR 负载均衡集群 案例
查看>>
以太坊·Rinkeby 测试网络
查看>>
字符串按规则排序算法
查看>>
MPLS + BGP高级特性
查看>>
plist文件读写操作
查看>>
oracle resetlogs和noresetlogs 创建控制文件区别
查看>>
2013-7-17学习作业练习
查看>>
ZAM 3D入门教程(4):Extrusion编辑器
查看>>
《深入实践Spring Boot》一第2章 在Spring Boot中使用数据库2.1 使用MySQL
查看>>
C++语言基础 例程 字符串类
查看>>
[Docker系列·7] 使用nsenter调试Docker镜像
查看>>
[Docker系列·11] 搭建ZooKeeper服务器
查看>>
PostgreSQL 与 12306 抢火车票的思考
查看>>
堆排序
查看>>
Java的热部署(后期完善)
查看>>
我的友情链接
查看>>
响应式微服务 in java 译 Message-Based Microservices<十>
查看>>
流程自动化布局
查看>>
前端构建工具gulp入门教程
查看>>