區別
break 語句,它不僅可以跳出“循環體”,還可以跳出 switch。
break 也只能用於這兩種情況。break 語句不能用於循環語句和 switch 語句之外的任何其他語句中。
不管是 for 循環,還是 while 循環,或者是 do…while 循環,都可以用 break 跳出來,但是 break 只能跳出一層循環。當有多層循環嵌套的時候,break只能跳出“包裹”它的最裏面的那一層循環,無法一次跳出所有循環。
同樣,在多層 switch 嵌套的程序中,break 也只能跳出其所在的距離它最近的 switch。但多層 switch 嵌套實在是少見。
continue 其作用爲結束本次循環,即跳過循環體中下面尚未執行的語句,然後進行下一次是否執行循環的判定。
continue 語句和 break 語句的區別是,continue 語句只結束本次循環,而不是終止整個循環。break 語句則是結束整個循環過程,不再判斷執行循環的條件是否成立。而且,continue 只能在循環語句中使用,即只能在 for、while 和 do…while 中使用,除此之外 continue 不能在任何語句中使用。
示例
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0;
while(1)
{
i++;
if(i<10){
printf("i<10,continue....i=%d\n",i);
continue;
}
printf("i++...i=%d\n",i);
if(i>10){
printf("i>10 break...i=%d\n",i);
break;
}
}
printf("hello world...\n");
system("pause");
}
執行結果:
上面的測試代碼 i<10 執行continue語句,後面的printf(“i++…i=%d\n”,i)並沒有執行 而是繼續判斷循環條件 執行i++的操作 一直到i>=10以後才繼續執行continue語句後面的代碼。