1.break语句
break语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句
一般形式: break;
注意:break语句不能用于循环语句和switch语句之外的任何其他语句中。
比如:
unsigned char i, j=50;
for(i=0;i<100;i++)
{
if(i>j) break;
}
j=i;
当程序循环到i=51时,执行break语句,跳出for循环,开始执行j=i这条语句。
2.continue语句
作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定.
一般形式: continue;
比如:
unsigned char i, j=50;
for(i=0;i<100;i++)
{
if(i>j) continue;
j=i;
}
当程序循环到i=51时,执行continue语句,结束本次循环,即不执行下面的j=i语句,而是执行i++,即i=52,故i<100,循环的条件成立,循环继续执行,直到i<100的条件不成立,for循环才终止。
总之:
continue语句只结束本次循环,而不是终止整个循环的执行。
break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
1.continue只结束上一级本次循环,针对只是for while两大类循环语句。
2.break结束上一级整个循环语句,可以是for while,还可以为swtich.
测试代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
char i;
for(i=0;i<5;i++)
{
switch(i)
{
case 0: printf("i=%d\n",i);break;
case 1: printf("i=%d\n",i);break;
case 2: printf("i=%d\n",i);break;
case 3: printf("i=%d\n",i);
continue;//针对的是for循环语句
printf("ok\n");
case 4: printf("i=%d\n",i);break;//针对的是switch语句
default: printf("errp\n");
}
printf("abanda\n");
}
}
输出: