Chinaunix首页 | 论坛 | 博客
  • 博客访问: 314085
  • 博文数量: 45
  • 博客积分: 2079
  • 博客等级: 上尉
  • 技术积分: 464
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 16:57
文章分类

全部博文(45)

文章存档

2015年(1)

2013年(1)

2012年(9)

2011年(2)

2010年(32)

分类:

2010-12-29 17:46:33

在循环中使用continue,要格外小心;在while中使用continue要格外格外小心!
先看个例子:(自)
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();  
}
从上面例子可知:在for循环中执行continue后,printf没有执行,但是m++会执行。如果使用while循环,而不是for循环呢?如何得到和for循环相同的结果呢?见如下代码:
int  j=0;
  while(j<10)
  {
  j++;              
  if(j==5)
  continue;
  printf(" %d",j);
  //j++;
  }  
可见,j++在循环的开始,如果放在循环的结束(被注释的位置),continue后,自加操作得不到执行,就会导致死循环。
阅读(9029) | 评论(2) | 转发(0) |
0

上一篇:字符串长度

下一篇:博客开张

给主人留下些什么吧!~~

zboom2010-12-30 16:46:54

mhsy2003: 呵呵,这还真是个陷阱
是啊。

mhsy20032010-12-30 13:10:25

呵呵,这还真是个陷阱