C语言中,continue语句常用于跳过循环体的某部分代码,然后继续下一次循环,如代码1:
for(i=1;i<100;i++)
{
if(i%3!=0)
continue;
printf("i=%d/n",n);
}
代码自动输出100以内3的倍数.
现在有如下代码2:
for(i=1;i<100;)
{
if(i%3!=0)
continue;
printf("i=%d/n",n);
i++;
}
代码2将语句 i++ 拿到了循环体中,该做法会导致死循环,当i=1时,continue语句会导致其后的所有语句被忽略,循环变量无法加1,死循环.
但在代码1中,i++仍然执行.这就是continue的特例.
代码3为对代码2进行了修改,其输出结果与代码1一致:
for(i=1;i<100;)
{
if(i%3!=0)
{ i++; continue; }
printf("i=%d/n",n);
i++;
}
如果是while循环,同样需要做类似的处理.