break語句、continue語句都是C語言標準規(guī)定的跳轉類語句,能夠實現程序無條件轉向另一處執(zhí)行。
break和continue中在循環(huán)體中經常出現,因此必須掌握其區(qū)別,避免出錯。
先復習下兩種語句的用法:
break語句可以在開關體(switch語句)或循環(huán)體內(while,do...while,for)出現,總結起來用以下四種情況,實現跳出當前switch語句或循環(huán)體語句,跳轉到開關體或循環(huán)體外執(zhí)行下一條語句功能。
while(....)
{
...
break;
...
}
do{
...
break;
...
}while(...);
for(...){
...
break;
...
}
switch(...){
case ...
break;
....
}
continue語句只能在循環(huán)體內(while,do...while,for)出現,有以下三種情況,實現結束循環(huán)體內當前的一次循環(huán)執(zhí)行過程,跳轉到循環(huán)體開頭重新執(zhí)行下一次循環(huán)過程。
while(....)
{
...
continue;
...
}
do{
...
continue;
...
}while(...);
for(...){
...
continue;
...
}
仔細理解上述用法,發(fā)現區(qū)別挺大。
1.break可以用在開關體switch語句中,continue語句不行;
2.兩者用在循環(huán)語句中時,break是用來結束整個循環(huán)過程,continue僅僅是結束本次循環(huán)執(zhí)行,繼續(xù)執(zhí)行下一次循環(huán)。
例如一個循環(huán)本來要執(zhí)行100次,當執(zhí)行10次時,因為循環(huán)條件不符合出現break語句時,將提前結束執(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;
}
輸出結果:
循環(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;
}
輸出結果:
循環(huán)完成執(zhí)行99次.
其實做為一個學習者,有一個學習的氛圍跟一個交流圈子特別重要這里我推薦一個C/C++基礎交流583650410,不管你是小白還是轉行人士歡迎入駐,大家一起交流成長。

