在使用while 或者 for语句时候, 当遇到某些情况不满足,我们需要跳过当前当次循环,或者跳出循环体,我们就需要到 break 或者 continue。
break
当break语句用于 while、for 循环语句中时,会终止循环而执行循环语句后面的代码。break语句通常和 if 语句一起使用,即满足条件时便跳出循环。
使用while循环计算1加到100的值:
#include <stdio.h>
int main(){
int i=1, sum=0;
while(1){ //循环条件为死循环
sum+=i;
i++;
if(i>100) break;
}
printf("%d\n", sum);
return 0;
}
运行结果:
5050
while循环条件为 1,是一个死循环。当执行到第100次循环的时候,计算完i++;后 i 的值为 101,此时 if 语句的条件 i> 100 成立,执行break;语句,结束循环。
continue
continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。continue语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。
#include <stdio.h>
int main(){
int i=1, sum=0;
for(i=1;i<10;i++){
if(i%2 == 0){
continue;
}
sum+=i;
}
printf("%d\n", sum);
return 0;
}
这个小例子求1到10内的奇数和。
if(i%2 == 0){
continue;
}
当i%2 == 0的时候,就会跳过当次循环,然后执行下次循环。所以只会相加 1 + 3 + 5 + 7 + 9 = 25
break与continue的对比:
break 用来结束当前所有循环,循环语句不再有执行的机会;
continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。