遇到一个情景,采用双层for循环 遍历图像的像素,当找到某一个像素点满足条件时,退出双层for 循环 。

首先了解一下 continue、break、return 各自功能用法:

1.continue 语句的作用

终止本次循环的执行,即跳过当前一次循环中continue语句后尚未执行的语句,然后进行下一次循环条件的判断。
2.break 语句的作用

(1)当break在循环体内时,强行终止整个循环的执行,即结束整个循环过程,不再判断执行循环的条件是否成立,直接转向循环体下面的语句。
(2)当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
'break' 用在循环语句块中, 只要执行到break语句, Matlab就会退出该循环, 但是它只能退出一层循环, 假如现在有内外两层循环, 在内层循环中执行break只会退出内层的循环.
break常和判断语句一起是使用.

3.return 语句的作用

( 1 ) return 从当前的方法中退出,返回到调用该方法的语句处,继续向下执行。
( 2 ) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。
( 3 ) return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于中断函数执行,返回调用函数处。

其它参考:

1、Java中break return continue 区别

2、break,continue,return的区别

因, break,无法跳出双层循环,

2个解决方案:

1、 将双层for循环 写到一个子函数里面,然后用return 进行返回,退出子函数 。

2、双层for循环不是单独的一个子函数,而是在一个主函数中,还有其它函数,此时用return,会导致整个函数结束,此时可以对双层for循环的两个变量进行同时赋值来终止双层for循环,注意,不能只将外层赋值终止值,否则会报错,因为内层还没有循环完毕,而外层已经超出范围,所以务必现将子循环变量终止后,再终止外循环变量。 代码如下:

  1. for (int i = 0; i < img.rows;i++){
  2. for (int j = 0; j < img.cols;j++){
  3. int elesum = rgb.at<Vec4b>(i, j)[0] + rgb.at<Vec4b>(i, j)[1] + rgb.at<Vec4b>(i, j)[2];
  4. if (elesum> 0)
  5. {
  6. i = img.rows;  j = img.cols; // 跳出双层 循环 赋值方式终止两个变量
  7. cout << "i: " << i << endl;
  8. cout << "j: " << j << endl;
  9. cout << endl;
  10. //break;
  11. }
  12. }
  13. }

C++ 退出双层for循环,解决 break、return、continue无法实现问题相关推荐

  1. Java 循环控制语句break/return/continue的使用

    package com.zhangxueliang.demo;public class BreakDemo {public static void main(String[] args) { // b ...

  2. python中continue用法案例_记录今天学习python中for与while循环针对break和continue的用法...

    python中有两个主要的循环for与while,其中针对这两个循环有两种不同的中断用法break与continue. 首先先看下面的循环代码: 1: for i in range(10):#变量i带 ...

  3. Go 语言 for 循环、break、continue 讲解

    Go 语言 for 循环.break.continue 讲解 一.for 循环控制: 1.基本概念: 基本语法: for 循环变量初始化:循环条件:循环变量迭代 { ​ 循环操作(语句) } 简单使用 ...

  4. python笔记5 - 字符串格式化表达式,while语句嵌套,for循环,break,continue,死循环

    2017/9/29 字符串格式化表达式,while语句嵌套,for循环,break,continue,死循环 ============================================= ...

  5. jsfor循环终止_JavaScript跳出循环的三种方法(break, return, continue)

    前言: 一位前端界的大神让我去思考的一个问题, 给了Big-man一段代码,如下: function Seriously(options) { // if called without 'new', ...

  6. week1:字符格式化输出,数据类型,for循环,break,continue,标志位

    一.字符格式化输出 占位符 %s s = string %d  d = digit 整数 %f  f = float 浮点数,约等于小数 Ctrl+问好  整段注释 在命令窗口输入  exit(),退 ...

  7. JavaScript基础07-day09【嵌套for循环、break和continue、对象、数据类型、对象字面量、函数】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  8. 列表输出循环左移_互联网人工智能开发语言Python之for循环、break、continue详解...

    IT技术研习社,专注互联网技术研究与分享,喜欢的朋友可以点击[关注]:把经验传递给有梦想的人: 1.for循环 Python循环的话除了while还可以用for完成循环. 在Python中for循环可 ...

  9. 【python笔记】 for循环和while循环,break和continue语句

    目录 循环结构: while语句: 可迭代对象: break语句: continue语句: 循环结构中的else子句: 特殊循环---列表解析 循环结构: 循环结构是满足一个指定的条件,每次使用不同的 ...

最新文章

  1. Ubuntu14.04 64位机上配置OpenCV3.4.2+OpenCV_Contrib3.4.2+Python3.4.3操作步骤
  2. linux 编译器错误,linux – GHCi – Haskell编译器错误 – /home/user/.ghci归其他人所有,IGNORING...
  3. DatagridView内容自动换行和换行符换行
  4. 7 个致命的 Linux 命令
  5. svn的安装和服务器搭建, 汉化以及多项目管理
  6. [tomcat] 配置数据源介绍
  7. NiceScroll文档阅读笔记-NiceScroll(3.7.6)基本使用
  8. xss 全编码两次_URL编码与XSS
  9. Integer进制转换
  10. 华北水利水电大学c语言实验报告八2020,2021年华北水利水电大学级C语言实验报告.doc...
  11. 【jmx】java jmx 获取 kafka topic的logStart LogEnd信息
  12. intellij常用快捷键
  13. 5个最受欢迎的大数据可视化软件
  14. Cadence学习篇(12) Cadence中使用Pspice进行电路仿真
  15. Rabbitmq二进制集群搭建
  16. CSS百分比参照物整理
  17. vasp计算压电系数_求助DFTP算出来的压电系数
  18. Java学习笔记(二)JavaSE
  19. PYTHON PLUS 原神——星辉兑换“宗室武器”的总体暴击率提升度算法
  20. 获得代理ippython_Python爬虫代理IP从哪里获取?

热门文章

  1. SAP PM 初级系列26 - 设备功能位置的Document
  2. 「Excel技巧」Excel技巧之如何看文件里的宏?
  3. 来自语音从业者的一封批评信
  4. 2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台(值得收藏)
  5. 使用进度条,让Python学习更加轻松快乐吧
  6. 这届百度AI究竟什么水平?
  7. 耗时三小时整理的机器视觉知识-建议收藏转发
  8. 美国多个城市禁止、我国却蓬勃发展的人脸识别是什么样子?
  9. 基于矩阵分解的推荐算法
  10. CTO集体怒吼:我到底要不要继续写代码(上篇)