在使用while 或者 for語句時候致讥, 當遇到某些情況不滿足仅仆,我們需要跳過當前當次循環(huán),或者跳出循環(huán)體垢袱,我們就需要到 break 或者 continue墓拜。
break
當break語句用于 while、for 循環(huán)語句中時惶桐,會終止循環(huán)而執(zhí)行循環(huán)語句后面的代碼撮弧。break語句通常和 if 語句一起使用潘懊,即滿足條件時便跳出循環(huán)姚糊。
使用while循環(huán)計算1加到100的值:
#include <stdio.h>
int main(){
int i=1, sum=0;
while(1){ //循環(huán)條件為死循環(huán)
sum+=i;
i++;
if(i>100) break;
}
printf("%d\n", sum);
return 0;
}
運行結(jié)果:
5050
while循環(huán)條件為 1,是一個死循環(huán)授舟。當執(zhí)行到第100次循環(huán)的時候救恨,計算完i++;后 i 的值為 101,此時 if 語句的條件 i> 100 成立释树,執(zhí)行break;語句肠槽,結(jié)束循環(huán)。
continue
continue語句的作用是跳過循環(huán)體中剩余的語句而強行執(zhí)行下一次循環(huán)奢啥。continue語句只用在 while秸仙、for 循環(huán)中,常與 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內(nèi)的奇數(shù)和。
if(i%2 == 0){
continue;
}
當i%2 == 0的時候,就會跳過當次循環(huán)捞蛋,然后執(zhí)行下次循環(huán)孝冒。所以只會相加 1 + 3 + 5 + 7 + 9 = 25
break與continue的對比:
break 用來結(jié)束當前所有循環(huán),循環(huán)語句不再有執(zhí)行的機會拟杉;
continue 用來結(jié)束本次循環(huán)庄涡,直接跳到下一次循環(huán),如果循環(huán)條件成立搬设,還會繼續(xù)循環(huán)穴店。