首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言 continue 與 goto:迴圈控制與無條件跳轉

     編輯:C 語言基礎

continue:跳過本次迴圈剩餘部分

僅用於 for、while、do-while。執行到 continue 時,略過迴圈體後續語句,直接進行下一次迭代(for 執行增量運算式,while/do-while 重新檢查條件)。

範例:忽略 ESC 鍵輸出

char c;
while (c != '\r') {
    c = getch();
    if (c == 0x1B)  // ESC
        continue;   // 不輸出,直接下一次循環
    printf("%c\n", c);
}

goto:無條件跳轉

goto label;
...
label:
    statement;

label 為有效識別符加冒號,必須與 goto 同屬一個函數。通常搭配 if 實現條件跳轉。

範例:多層迴圈跳出

int i = 0;
char c;
while (1) {
    c = '\0';
    while (c != 13) {
        c = getch();
        if (c == 27)
            goto quit;  // 直接跳出雙層迴圈
        printf("%c\n", c);
    }
    i++;
    printf("The No. is %d\n", i);
}
quit:
    printf("The end");

goto 使用建議

  • 一般情況不建議使用,易導致程式結構混亂、難以維護
  • 多層巢狀迴圈需一次跳出多層時,goto 較 break + 旗標變數更簡潔
  • 錯誤處理統一跳轉到清理代碼區(類似 try-finally)也是可接受用法
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved