1 語法結構: if(表達式) 語句; if(表達式) 語句1; else 語句2; //多分支 if(表達式) 語句1; else if(表達式2) 語句2; else 語句3; 2 else懸空問題 代碼以下: #include <stdio.h> int main() { int a = 0; int b = 2; if(a == 1) if(b == 2) printf("hehe\n"); else printf("haha\n"); return 0; } 上述代碼的無輸出結果; 緣由:1 首先編譯器認爲else是和最近的if進行匹配。 2 開始時int a = 0,進入第一個if語句中,進行判斷,錯誤,因此不執行後面的語句。因此沒輸出。