曾經武林技術小編我也自認為是C語言入門的人,看來有時候還是高估自己了,沒想到在這個地方還有這么有趣的東西,有些話看來要仔細深究才能真正入門啊....那今天就來剖析C語言continue和break的區別。
================================================================================
?
??????????? continue;
???????? }
???????? flag=1;
????? }
?? }
?? printf( " flag:%d/n ",flag);
}
輸出:
flag:0
?
如果代碼為:
case 0: break;
輸出:
flag:1
======================================================================
再看:
?
void main()
{
?? int flag = 0;
?? int j = 0 ;
?? for(j=0; j <2; j++) {
????? if(j==0) {
???????? if(j==0) {
??????????? continue;
???????? }
???????? flag=1;
????? }
?? }
?? printf( " flag:%d/n ",flag);
}
輸出:
flag:0
?
如果代碼為:
break;
輸出:
flag:0
==========================================
在C語言書中,對于continue和break是這么描述的:
break語句可以從最內層的循環或者switch語句中退出.
continue語句只能出現在for, while, do循環中
=========================================
結論:continue只對直接包含它的循環體有效(也就是for,while, 而switch{}中的不算循環體);而break有效的是直接包含它的for,while,switch塊。
比如在不包含switch的代碼中出現break或者continue,那么break跳出循環體,而continue跳出本次循環.
而對于在循環中嵌套switch語句的代碼中,break僅跳出最內層的塊,這個塊若是switch,就僅跳出switch.
而continue即使出現在switch塊中,因為continue的作用范圍僅針對 for while 之類的循環語句,故不起作用,依舊跳出本次循環.
不注意的話也會認為同樣是跳出switch語句塊了.更多精彩內容,盡在https://js.Vevb.com。
新聞熱點
疑難解答
圖片精選