剖析C语言continue和break的区别

来源:爱站网时间:2019-04-10编辑:网友分享
曾经爱站技术小编我也自认为是C语言入门的人,看来有时候还是高估自己了,没想到在这个地方还有这么有趣的东西,有些话看来要仔细深究才能真正入门啊....那今天就来剖析C语言continue和break的区别。

曾经爱站技术小编我也自认为是C语言入门的人,看来有时候还是高估自己了,没想到在这个地方还有这么有趣的东西,有些话看来要仔细深究才能真正入门啊....那今天就来剖析C语言continue和break的区别。

================================================================================

 

#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:%d\n ",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:%d\n ",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语句块了.更多精彩内容,尽在https://js.aizhan.com。

上一篇:C语言文件操作函数

下一篇:C++中关于类型重定义的使用

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载