x<='Z' 應為 c<='Z'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;
}
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 兩組(可手動驗證)。