一.continue
continue语句:告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。
假定矿量总数为10,挖到第五个是铁矿需要扔掉。
代码如下:
#include<stdio.h>
#define GOLD 10
int main(void){
int rush=1;
while(rush<= GOLD){
if(rush==5){
printf("挖到铁矿了,请扔掉!\n");
rush++;
continue;
//满足一定要求时,如果使用continue语句,就代表舍弃满足条件的内容;
//但需要继续执行循环语句,一定要在continue之前rush++(不要遗漏自增变量)
}
printf("continue rushing...%d\n",rush);
rush ++;
}
printf("所有的矿已经挖完了\n");
}
运行结果如下:
二.break
1.上述代码删除rush++和continue,写入break
如下:
#include<stdio.h>
#define GOLD 10
int main(void){
int rush=1;
while(rush<= GOLD){
if(rush==5){
printf("挖到铁矿了,请扔掉!\n");
break;
}
printf("continue rushing...%d\n",rush);
rush ++;
}
printf("所有的矿已经挖完了\n");
}
运行结果:
break会打断rush==5的情况,并无法继续执行循环。
2.break只能结束离它最近的一层循环
运行如下代码可发现,break只打断最近的一层循环(rush<=GOLD),而无法打断死循环(1)
#include<stdio.h>
#define GOLD 10
int main(void){
int rush=1;
while(1){
while (rush <= GOLD){
break;
}
printf("所有的矿已经挖完了\n");
}
}
运行结果:
因此要结束这个死循环,需要在外层再写入一个break:
#include<stdio.h>
#define GOLD 10
int main(void){
int rush=1;
while(1){
while (rush <= GOLD){
break;
}
printf("所有的矿已经挖完了\n");
break;
}
}
运行结果:
三.break和continue区别
1.continue只能在循环中使用
2.break只能在循环或switch语句中使用