在循环中使用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后,自加操作得不到执行,就会导致死循环。
阅读(9085) | 评论(2) | 转发(0) |