continue是结束当前循环,不再执行下面的语句。
continue与break的区别是break是完全跳出整个循环,continue是结束当前循环,不再执行下面的语句,然后开始新的循环。
以九九乘法表的程序为例
#include<stdio.h>
int main()
{
int i=1,j=0;
while(i<=9)
{
while(j<9)
{
++j;
if(i<=j)
printf("%d*%d=%d\n",i,j,i*j);
else continue;
}
++i;
j=0;
}
return 0;
}
从上面代码可以看出,一开始变量i的值为1,j的值为0,这是个嵌套循环,先执行内部循环
第一次循环,j的初始值为0,++j使j的值+1,0+1=1,此时j的值为1,i=j符合条件,执行printf("%d*%d=%d\n",i,j,i*j)语句,输出结果为1*1=1
第二次循环,j=1,符合i<9的条件,执行++j,j的值=1+1=2,此时i=1,符合i<=j的条件,继续执行
printf("%d*%d=%d\n",i,j,i*j)语句,输出结果是1*2=2.
如此循环执行下去,一直到j=9不符合j<9的条件,开始执行外部循环,执行++i的语句,此时i的初始值为1,++i的结果是1+1=2,,继续执行j=0的语句,j的值变为0.
然后继续执行while(j<9)的内部循环,j的值变为1,此时i的值为2,i>j,条件为假,不再执行下面的语句,循环从++j开始执行,j变为2,符合条件,继续执行循环