如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。
会终止整个循环继续执行整个循环语句后面的代码。
实例:判断输入的正整数是否是素数。
#include <stdio.h>
#include <string.h>
#include <math.h>
int main(){
int num;
printf("请输入一个正整数:\n");
scanf("%d",&num);
int flag = 1; //默认是素数
for(int i=2;i<=sqrt(num);i++){
if(num%i==0){
flag = 0;
break; //已经不是素数了则跳出循环。
}
}
if(flag){
printf("num= %d是素数!",num);
}else{
printf("num= %d不是素数!",num);
}
return 0;
}
结束本次循环,开始下次循环。
实例:玩家输入年龄,如果年龄非法则不停输入。
#include <stdio.h>
#include <string.h>
#include <math.h>
int main(){
int age;
while(1){
printf("请输入玩家的年龄:\n");
scanf("%d",&age);
if(age<0||age>200){ //认为年龄非法
printf("您输入的年龄不合法!\n");
continue;
}
printf("玩家的年龄是:%d",age);
break;
}
return 0;
}