break語句、continue語句都是C語言標準規(guī)定的跳轉(zhuǎn)類語句早抠,能夠?qū)崿F(xiàn)程序無條件轉(zhuǎn)向另一處執(zhí)行。
break和continue中在循環(huán)體中經(jīng)常出現(xiàn)撬讽,因此必須掌握其區(qū)別蕊连,避免出錯。
先復習下兩種語句的用法:
break語句可以在開關(guān)體(switch語句)或循環(huán)體內(nèi)(while,do...while,for)出現(xiàn)游昼,總結(jié)起來用以下四種情況甘苍,實現(xiàn)跳出當前switch語句或循環(huán)體語句,跳轉(zhuǎn)到開關(guān)體或循環(huán)體外執(zhí)行下一條語句功能烘豌。
while(....)
{
...
break;
...
}
do{
...
break;
...
}while(...);
for(...){
...
break;
...
}
switch(...){
case ...
break;
....
}
continue語句只能在循環(huán)體內(nèi)(while,do...while,for)出現(xiàn)载庭,有以下三種情況,實現(xiàn)結(jié)束循環(huán)體內(nèi)當前的一次循環(huán)執(zhí)行過程廊佩,跳轉(zhuǎn)到循環(huán)體開頭重新執(zhí)行下一次循環(huán)過程囚聚。
while(....)
{
...
continue;
...
}
do{
...
continue;
...
}while(...);
for(...){
...
continue;
...
}
仔細理解上述用法,發(fā)現(xiàn)區(qū)別挺大标锄。
1.break可以用在開關(guān)體switch語句中顽铸,continue語句不行;
2.兩者用在循環(huán)語句中時料皇,break是用來結(jié)束整個循環(huán)過程谓松,continue僅僅是結(jié)束本次循環(huán)執(zhí)行,繼續(xù)執(zhí)行下一次循環(huán)践剂。
例如一個循環(huán)本來要執(zhí)行100次鬼譬,當執(zhí)行10次時,因為循環(huán)條件不符合出現(xiàn)break語句時逊脯,將提前結(jié)束執(zhí)行循環(huán)优质,剩下的99次不會再執(zhí)行;
如果是continue語句男窟,只會當前第10次循環(huán)后面代碼不再執(zhí)行盆赤,跳到循環(huán)開頭,繼續(xù)執(zhí)行后面剩余的90次循環(huán)歉眷。
示例代碼1:
#include <stdio.h>
int main(void)
{
int i;
int count = 0;
for(i=1; i<=100; i++)
{
if(i==10)
break;
count++;
}
printf("循環(huán)完成執(zhí)行%d次.\n", count);
return 0;
}
輸出結(jié)果:
循環(huán)完成執(zhí)行9次.
示例代碼2:
#include <stdio.h>
int main(void)
{
int i;
int count = 0;
for(i=1; i<=100; i++)
{
if(i==10)
continue;
count++;
}
printf("循環(huán)完成執(zhí)行%d次.\n", count);
return 0;
}
輸出結(jié)果:
循環(huán)完成執(zhí)行99次.
其實做為一個學習者牺六,有一個學習的氛圍跟一個交流圈子特別重要這里我推薦一個C/C++基礎(chǔ)交流583650410,不管你是小白還是轉(zhuǎn)行人士歡迎入駐汗捡,大家一起交流成長淑际。