形式一:if语句后接一条语句
#include<stdio.h>
int main(void){
if (5>3)
printf("第一个输出");
}
这个形式比较简单,直接执行if后的语句,此时代码的输出为:
形式二:if语句后接多条语句
#include<stdio.h>
int main(void){
if (5>3)
printf("第一个输出\n");
printf("第二个输出\n");
}
此时输出结果为:
这个形式存在一个问题:无法判断“第二个输出”是否属于if语句所包含的内容,存在以下两种情况:
1.“第二个输出”属于if语句范围,因为if中的表达式成立,所以会输出“第二个输出”
2.“第二个输出”属于单独的语句,在if语句执行完毕后,会执行此语句,所以会输出“第二个输出”
针对以上两个情况,我们将if中的表达式改为“100<3”,此时if语句不成立。
#include<stdio.h>
int main(void){
if (100<3)
printf("第一个输出\n");
printf("第二个输出\n");
}
此例输出结果如下。if语句中“100<3”不成立,if语句未执行,但输出中仍有“第二个输出”,因此第二个printf并不在if语句的范围中。因此可知if语句的范围仅匹配了if后面的第一条语句。
形式三:if后多条语句,使用花括号
#include<stdio.h>
int main(void){
if (1<3){
printf("第一个输出\n");
printf("第二个输出\n");
}
}
输出结果。此形式,if后的语句采用花括号包含,均属于if语句范围。
总结
1.if语句的范围仅匹配if后的第一条语句。
2.若要使if语句作用于多条语句,if后采用花括号包含多条语句。