C_continue与break

现在越来越发现自己之前都白学了,都快毕业了,却连最基础的C语言都忘干净了!赶紧恶补吧!!

简单来说break就是跳出当前循环体(或switch)结束循环,然后执行循环下面的语句,而continue是结束本次循环,不执行循环体下面尚未执行的语句,接着进行下次是否进行循环的判断。

书上专业的理解是:break语句可以从最内层的循环或者switch语句中退出。continue语句只能出现在for, while, do循环中。(感觉好像没理解,还是看例子吧)

#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   将continue换成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); 
}

没有 switch 则break只对循环体起作用了,所以break与continue的结果都是 flag:0

再来一个switch的例子,就不信还会忘!

#include  <stdio.h>
#include  <string.h>
int main()
      {
           char i;
           for(i=0;i<5;i++){
                 switch(i){
                 case 0: printf("i=%d\n",i);break;
                 case 1: printf("i=%d\n",i);break;               
                 case 2: printf("i=%d\n",i);continue;printf("ok\n");
                 case 3: printf("i=%d\n",i);break;
                 default: printf("errp\n");
              }
             printf("lalala\n");
          }
          getch();
      }

结果中continue后的ok和lalala都没有输出,而break输出了。

 

posted @ 2015-05-05 11:06  Saraline  阅读(176)  评论(0编辑  收藏  举报