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

C 語言巢狀迴圈變數名拼寫錯誤:x<='Z' 應為 c<='Z'

     編輯:C 語言問答

錯誤代碼片段

for (c = 'X'; x <= 'Z'; c++)   // 編譯錯誤:'x' undeclared

錯誤原因

迴圈控制變數宣告為 c,但條件判斷寫成 x(小寫 X)。C 語言**區分大小寫**,c ≠ x,x 未宣告 → 編譯失敗。

修正版

for (c = 'X'; c <= 'Z'; c++)   // 統一用 c

完整修正後程式(印出符合條件的三字元組合)

#include 

int main(void) {
    char a, b, c;
    for (a = 'X'; a <= 'Z'; a++)
        for (b = 'X'; b <= 'Z'; b++)
            if (a != b)
                for (c = 'X'; c <= 'Z'; c++)
                    if (a != c && b != c)
                        if (a != 'X' && c != 'X' && c != 'Z')
                            printf("%c,%c,%c\n", a, b, c);
    return 0;
}

避免拼寫錯誤的習慣

  • **使用 IDE 智慧感知**(VS Code + clangd, CLion, VS)輸入變數名。
  • **命名有意義**:char first, second, third; 比 a,b,c 易讀且不易打錯。
  • **開啟編譯器警告** -Wall -Wextra -Wshadow,未宣告識別符會直接報錯。
  • **程式碼對齊縮排**,巢狀結構一目了然,減少視覺誤讀。

延伸:這題在解什麼問題?

找出所有由 X,Y,Z 三字元組成、互不相同、且滿足 first != 'X' && third != 'X' && third != 'Z' 的排列組合。實際上只會輸出 Y,X,Y、Z,X,Y 兩組(可手動驗證)。

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