if-else嵌套的判断
定义
当if的条件满足或不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套的if语句。例如如下程序
if( code == READY){
if(count<20)
printf("一切正常\n");
}else
printf("继续等待\n");
else的匹配
- else总是和最近的if匹配
(注意:当加上了大括号后,括号内的内容相当于是属于括号前的大if的子内容,即使最近,else也不会把他作为独立的if对应,所以在编程时,为了else不产生歧义,最好在每个if和else后都加上大括号{},养成良好的编程习惯) - 缩进
(缩进格式不能暗示else的匹配)
例如
if( code == READY){
if(count<20)
printf("一切正常\n");
} else //对齐不能说明匹配,此else是属于第一行if的
printf("继续等待\n");
代码示例
```c
#include<stdio.h>
int main(){
int f;
int x;
scanf("%d",&x);
if(x<0){
f = -1;
}else if(x == 0){ //去掉else的括号 将if写在后面 else对齐
f = 0;
}else
f = 2*x;
printf("%d",f);
return 0;
}