break和continue的区别

一、先看MSDN关于break和continue语句的帮助说明
1、break 语句用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句(如果有的话)。
2、continue 语句将控制权传递给它所在的封闭迭代语句的下一次迭代。
二、对break和continue语句的解释
通过对MSDN帮助的理解,我们可以得出以下结论:
1、break 语句在循环(for、for in,……)和switch等具有迭代选择特征的语句中使用,而且是终止最近的封闭代码块(即多重循环时,它只终止自己所在的循环),整体代码接在break语句后继续执行(如果break语句不是最后一行代码的话)。
2、continue语句与break语句使用场合类似,continue语句是不可以在单独的switch语句中使用,但可以在一个循环内的switch语句中使用。含有continue的迭代语句(或者叫循环语句),在遇到continue语句后,代码先不按照常规的从上往下的代码执行顺序执行,而是马上回到循环入口转入下一次循环。
3、break和continue语句在循环内的switch语句中使用时,是有些区别的。break是跳出本switch,switch后面的代码继续执行,而continue是不执行switch后的代码,可以理解为跳出循环,接着进入下一次循环。分别测试下面代码使用break和continue两种情况的输出,如果使用continue,你会发现程序找到Microsoft后,document.write代码不执行了,输出结果就比使用break少了一行。
转自: http://blog.csdn.net/webflash/archive/2009/06/14/4268344.aspx
break表示跳出循环,continue表示结束本次循环
示例程序如下:

#include "stdio.h" 
void main() 
{  int n,m; 
   for(n=1;n<=10;n++)     /*这个循环输出1  2  3  4, 在n是5的时候循环退出*/
      { if(n==5) 
          break; 
        printf(" %d",n); 
       } 
   printf("/n"); 
   for(m=1;m<=10;m++)  /*这个循环输出1  2  3  4  6  7  8  9  10 ,*/
        { if(m==5)        /*在m是5的时候没有执行当次循环的其他语句,所以未输出5*/
          continue; 
        printf(" %d",m); 
       } 
 getch(); 
}

 

转自 http://www.cnblogs.com/reommmm/archive/2008/04/16/1156701.html

你可能感兴趣的:(break和continue的区别)