手机
当前位置:查字典教程网 >编程开发 >C语言 >深入c语言continue和break的区别详解
深入c语言continue和break的区别详解
摘要:自认为C语言还算入门的人,看来还是高估自己了.没想到在这个地方还有这么有趣的东西.有些话看来要仔细深究才能真正入门啊....========...

自认为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语句块了.

【深入c语言continue和break的区别详解】相关文章:

c++中typename和class的区别介绍

string与char*转换的使用详解

如何用C语言去除字符串两边的空字符

如何编译libfreetype方法详解

深入C++可见性与生命期的区别详解

C++中继承与组合的区别详细解析

浅析C语言字中的符串格式化显示

深入内存对齐的详解

你必须知道的C语言预处理的问题详解

基于c语言中调试工具的用法汇总(不包含gdb)

精品推荐
分类导航