get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是深入c语言continue和break的区别详解,一起来学习了解下吧!
【 tulaoshi.com - 编程语言 】
自认为C语言还算入门的人,看来还是高估自己了.没想到在这个地方还有这么有趣的东西.有些话看来要仔细深究才能真正入门啊....
================================================================================
代码如下:
#include stdio.h
int main(void)
{
int flag=0;
for(int j=0; j 2; j++) {
if(j==0) {
switch(j) {
case 0:
continue;
}
flag=1;
}
}
printf( " flag:%dn ",flag);
}
输出:
flag:0
如果代码为:
case 0: break;
输出:
flag:1
======================================================================
再看:
代码如下:
#include stdio.h
void main()
{
int flag = 0;
int j = 0 ;
for(j=0; j 2; j++) {
if(j==0) {
if(j==0) {
continue;
}
flag=1;
}
}
printf( " flag:%dn ",flag);
}
输出:
flag:0
如果代码为:
break;
输出:
flag:0
==========================================
在C语言书中,对于continue和break是这么描述的:
break语句可以从最内层的循环或者switch语句中退出.
continue语句只能出现在for, while, do循环中
=========================================
结论:continue只对直接包含它的循环体有效(也就是for,while, 而switch{}中的不算循环体);而break有效的是直接包含它的for,while,switch块。
比如在不包含switch的代码中出现break或者continue,那么break跳出循环体,而continue跳出本次循环.
而对于在循环中嵌套switch语句的代码中,break仅跳出最内层的块,这个块若是switch,就仅跳出switch.
而continue即使出现在switch块中,因为continue的作用范围仅针对 for while 之类的循环语句,故不起作用,依旧跳出本次循环.
不注意的话也会认为同样是跳出switch语句块了.
来源:http://www.tulaoshi.com/n/20160219/1589798.html
看过《深入c语言continue和break的区别详解》的人还看了以下文章 更多>>