break
break如果用於循環適用於終止循環
break如果用於switch,則是用來終止switch
break不能直接用於if,除非if屬於循環內部的一個子句 如 if (表達式) break 是錯誤的
1 # include <stdio.h> 2 3 int main (void) 4 { 5 int i; 6 7 for (i=0; i<3; ++i) 8 { 9 if (3 >2) 10 break; //break 雖然是if內部的語句,但break終止的是外部的for循環程序 11 printf("嘿嘿!\n") //永遠不會輸出,因為break終止循環 12 } 13 14 return 0; 15 }
1 #include <stdio.h> 2 3 int mian (void) 4 { 5 int i, j; 6 7 for (i=0; i<3; ++i) 8 { 9 for (j=0; j<4; ++j) 10 break; // break 只能終止離它最近的循環 11 prntf("您好!\n") //輸出三次 12 } 13 14 return 0; 15 }
上例為多層循環中使用break 語句,它只能終止離它最近的循環。同樣,在多層switch嵌套中,break也只能終止離它最近的switch
continue
用於跳過本次循環余下的語句,轉去判斷是否需要執行下次循環,continue終止此次循環,不會終止if。
如 for (1; 2;3)/while(表達式n)
a;
b;
continue;
c;
d;
如果執行continue語句,則跳過c、d語句,轉去執行語句3、語句2/判斷表達式n是否成立,因此將for語句轉換成continue語句時,由於continue后跳過循環中余下的語句,所以自增自減等需要放在循環語句的continue之前,否則轉換不等價