分享

C语言中break和continue的区别

 华灯初放l 2015-06-15

1.break语句
break
语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句

一般形式:

               break;
注意:break语句不能用于循环语句和switch语句之外的任何其他语句中。

比如:

unsigned char i, j=50;

for(i=0;i<100;i++)

{

      if(i>j) break;

}

j=i

当程序循环到i=51时,执行break语句,跳出for循环,开始执行j=i这条语句。

2.continue语句
作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定
.
一般形式:

         continue;

比如:

unsigned char i, j=50;

for(i=0;i<100;i++)

{

      if(i>j) continue

      j=i

}

当程序循环到i=51时,执行continue语句,结束本次循环,即不执行下面的j=i语句,而是执行i++,即i=52,故i<100,循环的条件成立,循环继续执行,直到i<100的条件不成立,for循环才终止。

总之:
continue
语句只结束本次循环,而不是终止整个循环的执行。

break
语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

1.continue只结束上一级本次循环,针对只是for  while两大类循环语句。

2.break结束上一级整个循环语句,可以是for while,还可以为swtich.

测试代码如下:

      1i nclude    <stdio.h>
      2
i nclude    <string.h>
      3
      4 int main()
      5 {
         char i;
         for(i=0;i<5;i++){
             switch(i){
                 case 0: printf("i=%d\n",i);break;
     10             case 1: printf("i=%d\n",i);break;
     11             case 2: printf("i=%d\n",i);break;


     12             case 3: printf("i=%d\n",i);continue;printf("ok\n");
     13             case 4: printf("i=%d\n",i);break;
     14             default: printf("errp\n");
     15         }
     16         printf("abanda\n");
     17     }
     18 }

输出:

i=0
abanda
i=1
abanda
i=2
abanda
i=3
i=4
abanda

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多