一般說來,程式進入迴圈體後在下次迴圈判斷之前執行迴圈體裡的所有語句,break和continue語句可以終止迴圈或忽略某些迴圈。
break: 此語句導致程式終止包含它的循環,並進行程式的下一階段(整個循環後面的語句),即,不是跳到下一個循環週期而是退出循環。如果break語句包含在巢狀迴圈裡,它只會跳出最裡面的迴圈。
#include<stdio.h> int main() { int res=0; int i=0; int n=0; printf("test break and continue\n"); for(i=0;i<6;i++) { printf("start...\n"); if(i==3) { printf("break \n"); break; printf("break after\n"); //printf("continue \n"); //continue; //printf("continue after\n"); } printf("now i = %d\n",i); } printf("test over !!!\n"); return 0; }
$ gcc -o bc bc.c $ ./bc test break and continue start... now i = 0 start... now i = 1 start... now i = 2 start... break test over !!! $
巢狀迴圈(break):
#include<stdio.h> int main() { int res=0; int i=0; int n=0; printf("test break and continue\n"); for(i=0;i<6;i++) { printf("start...\n"); for(n=0;n<6;n++) { if(n==3) { printf("break \n"); break; //printf("continue \n"); //continue; } printf("now n= %d\n",n); } if(i==3) { printf("break \n"); break; printf("break after\n"); //printf("continue \n"); //continue; //printf("continue after\n"); } printf("now i = %d\n",i); } printf("test over !!!\n"); return 0; }
$ gcc -o bc bc.c $ ./bc test break and continue start... now n= 0 now n= 1 now n= 2 break now i = 0 start... now n= 0 now n= 1 now n= 2 break now i = 1 start... now n= 0 now n= 1 now n= 2 break now i = 2 start... now n= 0 now n= 1 now n= 2 break break test over !!! $
continue:迴圈語句裡有此語句時,程式執行到此語句時,不在執行迴圈體裡continue後面的語句而是跳到下一個迴圈入口處執行下一個迴圈。如果continue語句包含在巢狀迴圈語句裡,它只會影響包含它的最裡層的迴圈。
#include<stdio.h> int main() { int res=0; int i=0; int n=0; printf("test break and continue\n"); for(i=0;i<6;i++) { printf("start...\n"); if(i==3) { //printf("break \n"); //break; //printf("break after\n"); printf("continue \n"); continue; printf("continue after\n"); } printf("now i = %d\n",i); } printf("test over !!!\n"); return 0; }
$ gcc -o bc bc.c $ ./bc test break and continue start... now i = 0 start... now i = 1 start... now i = 2 start... continue start... now i = 4 start... now i = 5 test over !!! $
巢狀迴圈(continue):
#include<stdio.h> int main() { int res=0; int i=0; int n=0; printf("test break and continue\n"); for(i=0;i<6;i++) { printf("start...\n"); for(n=0;n<6;n++) { if(n==3) { //printf("break \n"); //break; printf("continue \n"); continue; } printf("now n= %d\n",n); } if(i==3) { //printf("break \n"); //break; //printf("break after\n"); printf("continue \n"); continue; printf("continue after\n"); } printf("now i = %d\n",i); } printf("test over !!!\n"); return 0; }
$ gcc -o bc bc.c $ ./bc test break and continue start... now n= 0 now n= 1 now n= 2 continue now n= 4 now n= 5 now i = 0 start... now n= 0 now n= 1 now n= 2 continue now n= 4 now n= 5 now i = 1 start... now n= 0 now n= 1 now n= 2 continue now n= 4 now n= 5 now i = 2 start... now n= 0 now n= 1 now n= 2 continue now n= 4 now n= 5 continue start... now n= 0 now n= 1 now n= 2 continue now n= 4 now n= 5 now i = 4 start... now n= 0 now n= 1 now n= 2 continue now n= 4 now n= 5 now i = 5 test over !!! $
以上是php中關於break與continue兩者之間的用法區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!