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

C語言循環控制語句:continue、goto 詳細講解

     編輯:關於C語言

continue 語句

作用:跳過本次循環剩餘語句,直接進入下一次循環迭代。僅用於 for、while、do-while 循環體中,常配合 if 使用。

實例:跳過 Esc 鍵輸出

main() {
    char c;
    while (c != 0x0D) { // 非回車繼續
        c = getch();
        if (c == 0x1B) // Esc 鍵
            continue;  // 不輸出,直接下次循環
        printf("%c\n", c);
    }
}

goto 語句

無條件跳轉至同一函數內的標號。語法:goto 標號;,標號定義:標號:。常配合 if 實現條件跳轉。

優缺點

  • ❌ 破壞程序結構,降低可讀性,易產生「面條代碼」
  • ✅ 多層嵌套循環一次性跳出時較合理

實例:多層循環跳出

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

最佳實踐建議

  1. 優先使用 break、continue、條件標誌變量控制流程
  2. 多層循環跳出可用 goto 或重構為函數返回
  3. 嚴禁向前跳轉構建難以理解的控制流
  4. 標號名稱應語義化(如 error_exit、cleanup)

現代 C 編程中 goto 應極少使用,保留作為錯誤處理統一出口或極少數嵌套跳出場景的最後手段。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved