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语句中,进行判断,错误,因此不执行后面的语句。因此没输出。