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

1. 使用goto

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

2. 写成函数 return

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

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

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

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

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

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

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

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

参考资料:

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

C/C++——C语言跳出多重循环方法的更多相关文章

  1. Java之跳出多重循环

    在java里,想要跳出多重循环,有两种方法 1.在循环语句前设置一个标记,然后使用带有该标记的break语句跳出该循环 public static void main(String args[]) { ...

  2. java中如何使用break跳出多重循环

    java 中已知的三种跳出多重循环的方式: System.out.println("---------java中跳出多重循环的三种方式:---------"); System.ou ...

  3. Python 如何跳出多重循环

    Python 如何跳出多重循环 抛异常 return

  4. 关于Java 中跳出多重循环

    前言 环境:window10 JDK 1.8 应用场景:在多个for循环或while循环中,直接跳到最外层的循环外面,而不是需要层层退出来. 使用: 使用一个标签label(也可以是其他单词,不能是关 ...

  5. JS 跳出多重循环

    今天学到了如何跳出多重循环

  6. break跳出多重循环

    大家都知道break只能跳出当前的一个循环语句,如果碰到要跳出多个循环体,那么我们就该在循环体开头设置一个标志位,然后使用带此标志位的break语句跳出多重循环 jump: ;i<;i++){ ...

  7. python跳出多重循环的方法

    方法1:自定义异常 # -*- coding:utf-8 -*- """ 功能:python跳出循环 """ # 方法1:自定义异常 cla ...

  8. Java跳出多重循环的方法

    我们一般用break和cuntinue来控制单个循环,但是如果遇到有多个循环的情况呢,比如下面这个: for (int i=0; i<10; i++) { for (int j=0; j< ...

  9. python跳出多重循环

    # -*- coding=utf-8 -*- """ 如何结束多重循环,在单层循环中,可以用break跳出循环,那两层,三层呢? """ # ...

随机推荐

  1. BZOJ3717 PA2014Pakowanie(状压dp)

    显然贪心地有尽量先往容量大的背包里放.设f[i]为i子集物品最小占用背包数,g[i]为该情况下最后一个背包的剩余容量,转移显然. #include<iostream> #include&l ...

  2. Redis的List链表类型命令

    List是一个链表结构,主要功能是push.pop.获取一个范围的所有值等等,操作中key理解为链表的名字.list类型其实就是一个每个子元素都是string类型的双向链表.我们可以通过push.po ...

  3. Codeforces 97.B Superset

    A set of points on a plane is called good, if for any two points at least one of the three condition ...

  4. 使用rabbitmq消息队列

    一.前言 在python中本身就是存在队列queue.一个是线程队列queue,另一个是进程multiprocessing中的队列Queue. 线程queue:只用于线程之间的数据交互 进程Queue ...

  5. echarts 分组绘制柱状图

    示意图: 代码如下: <!DOCTYPE html> <html style="height: 100%"> <head> <meta c ...

  6. winows下使用sourcetree的问题

    sourcetree是基于git的版本控制工具,界面友好,并且多个平台下都有. 我在windows下是这么使用的: 1.先安装一个git(其实sourcetree有内嵌的git),然后生成ssh ke ...

  7. Android通过php插入查询SQL数据库

    PHP代码 <?php header("Content-type: text/html; charset=gb2312"); $serverName = "loca ...

  8. 其他:strtok和sscanf结合输入读取一行整数

    gets(buf); int v; char *p = strtok(buf," "); while(p) { sscanf(p,"%d",&v); p ...

  9. 图论&数学:拉姆齐(Ramsey)定理

    拉姆齐(Ramsey)定理是要解决以下的问题:要找这样一个最小的数n,使得n个人中必定有k个人相识或l个人互不相识 我们所知道的结论是这样的 6 个人中至少存在3人相互认识或者相互不认识. 该定理等价 ...

  10. 一小时了解数据挖掘⑤数据挖掘步骤&常用的聚类、决策树和CRISP-DM概念

    一小时了解数据挖掘⑤数据挖掘步骤&常用的聚类.决策树和CRISP-DM概念 接前面系列4篇: 一小时了解数据挖掘①:解析常见的大数据应用案例 一小时了解数据挖掘②:分类算法的应用和成熟案例解析 ...