网站首页 > 技术文章 正文
前言
循环里Continue,Break,Return经常会用到,也是很容易出错的一个坑,今天特地花个时间来总结下,在循环里使用Continue,Break,Return的不同效果是什么?
Continue 语句
涵义
C 语言中的 continue 语句有点像 break 语句,所不同的是,它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环迭代。
对于 for 循环,continue 语句执行后,自增语句仍然会执行。
对于 while 和 do…while 循环,continue 语句重新执行条件判断语句。
语法
流程图
实例
多层 for 循环实例如下:
#include <stdio.h>int main (){ int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); for (j = 0; j < 3; j++ ) { if( j==1){ continue; } printf("j 的值: %d\n",j); } } return 0;}
编译结果如下,我们可以得出结论,在双层FOR循环中,在内循环使用Continue,只会在内循环中跳过此处循环,小循环继续执行,不会跳过大循环。
我们再举一个while循环的例子如下:
#include <stdio.h>int main (){ int a = 0; do { if( a == 5) { /@@* 跳过迭代 */ a = a + 1; continue; } printf("a 的值: %d\n", a); a++; }while( a < 10 ); return 0;}
输出如下:
Break 语句
在循环中,关键词Break,作用是跳出循环,一般有以下两种用法:
- 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
- 它可用于终止 switch 语句中的一个 case。
如果使用的是嵌套循环,break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
注意:
- break语句对if-else的条件语句不起作用。
- 在多层循环中,一个break语句只向外跳一层。
- 由于它是用来退出循环或者switch语句的, 所以只有当它出现在这些语句的时候, 这种形式的break语句才是合法的。
语法
流程图
实例
如下:
#include <stdio.h>int main (){ int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); for (j = 0; j < 3; j++ ) { if( j==1){ break; } printf("j 的值: %d\n",j); } printf("\n"); } return 0;}
编译结果如下,我们可以看到在双层FOR循环中,在内循环使用Break,只会在内循环中结束本次循环,小循环结束此次执行,不会跳过大循环。
我们再举一个while循环的例子如下:
#include <stdio.h>int main (){ int a = 0; do { printf("a 的值:%d\n" , a ); a = a + 1; if( a > 5) { // 终止循环 break; } }while( a < 10 ); return 0;}
输出如下:
Return
在循环中,Return语句,作用是结束本次循环,将函数调用栈弹栈,恢复现场。
说的简单点儿就是结束当前的函数,返回函数执行结果,回到本函数被调用处继续执行。
我们举个例子如下:
#include <stdio.h>int main (){ int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); for (j = 0; j < 3; j++ ) { if( j==1){ return; } printf("j 的值: %d\n",j); } } return 0;}
输出如下:
提问思考?
不知道大对上面的解释有没有理解清楚,这里提出3个问题,如果一看即知道答案,那么肯定没有问题了。
- 同样是跳出循环,return和break有什么区别?
- 同样是中断执行,return和return false有什么区别?
- 在什么应用场景下我们会用到break或continue?
猜你喜欢
- 2024-11-27 用for循环写一个九九乘法表
- 2024-11-27 三菱plc编程,FOR循环指令详解
- 2024-11-27 通过几个事例,就可以说明 for...of 循环在 JS 是不可或缺
- 2024-11-27 年近半百自学Python之流程控制break和continue
- 2024-11-27 C语言程序设计(谭浩强第五版) 第5章 循环结构程序设计 习题解析答案
- 2024-11-27 C语言for循环语句使用形式总结
- 2024-11-27 C# break和continue区别
- 2024-11-27 VBA基本语法之For循环结构,都有什么含义,具体该怎么使用?
- 2024-11-27 C语言(五):for,break,continue
- 2024-11-27 C语言for循环小例子
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-