if(条件1)
语句1;
else if(条件2)
语句2;
else if(条件3)
语句3;
.
.
else
语句4;
1.使用场景:
这种形式的if语句,最终只有一个出口.即当满足条件1时,执行语句1.然后,后面的就都不执行了。当不满足条件1时,往下走,判断是否满足条件2,如果还是不满足,则继续往下走,一直走到else语句,说明之前的条件都不满足,最终执行语句4;
2.if elseif else 与if 嵌套的区别:
if套if,是当外面条件不满足时,里面的if不会执行
而if else if else,是当第一个条件不满足时,判断第二个条件
if(条件1)
语句1;
if(条件2)
语句2;
if(条件3)
语句3;
解释一下:有没有发现特别像if else if else型,但是二者是有区别的.
分析一下多个if:当满足条件1时,执行语句1.然后在判断满不满足条件2,当不满足条件1时,往下走,判断条件2,如果还是不满足,再判断条件3.这么看好像和if else if else型没什么区别.
我们看个例子就明白了
多个if型:
int a=0;
if(a0){
a++;
printf(“aaa”);
}
if(a1)
printf(“bbb”);
if(a2)
printf(“ccc”);
最终输出:aaabbb,在多个if语句中,所有的if都会进行判断,无论是否满足情况.所以在满足a0时,执行了a++,a就变成了1,当进行a==1判断时,也符合,故也执行了printf(“bbb”)
if else if else型:
int a=0;
if(a0){
a++;
printf(“aaa”);
}
else if(a1)
printf(“bbb”);
else
printf(“ccc”);
最终只输出了aaa.在if else if else中,只要有一个条件满足,则其余条件不用判断,直接跳过即可,所以a++,a=1之后不会去判断else if中的a==1,所以也就不会执行printf(“bbb”)