如果程序中有多个if和else,那如何配对,if和else的匹配规则简单总结为以下两点:
1.无花括号,else和最近的if匹配
2.有花括号,else和内含有if语句的第1个if语句匹配
我们通过两个示例来说明以上配对的规则
示例一,if语句无花括号
#include<stdio.h>
int main(void){
int number;
scanf("%d", &number);
if(number > 6)
if(number < 12)
printf("AAA");
else
printf("BBB");
}
执行结果
输入5,第1个if语句判断后,无任何输出。
输入10,第1个if语句判断成立,进入第二个if语句,判断成立,输出AAA。
输入15,第1个if与判断成立,进入到第二个if语句,判断不成立,执行else,输出BBB。
匹配规则:无花括号,else和最近的if匹配

示例二:if语句使用花括号
int number;
scanf("%d", &number);
if(number > 6){
if(number < 12)
printf("AAA");
}
else
printf("BBB");
}
输入5,第1个if语句判断不成立,执行else,输出BBB。
输入10,第1个if语句判断成立,进入第2个if语句,判断成立,输出AAA。
输入15,第1个if语句判断成立,进入第2个if语句,判断不成立,内部的if并没有else进行匹配,无任何输出。
匹配规则:有花括号,else和内含有if语句的第1个if语句匹配
