如果程序中有多个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匹配

c语言if与else是如何配对的(C语言if与else配对规则)(1)

示例二: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语句匹配

c语言if与else是如何配对的(C语言if与else配对规则)(2)

,