if
(
条件
)
语句
//语句也可以是:{
语句语句...语句
}
if
(
条件
)
语句
else
语句
//语句也可以是:{
语句语句...语句
}
如果在嵌套的if语句中出现else,编译器会自动向前找到最近的那个if完成一个完整的if...else
...语句;你也可以在遇到else后找到这个结构然后用大括号将它们括起来表示这是一条if语句,省得混淆,比如:
if
(
A
)
if
(
B
)
else
语句A
else
语句B
可以看成:if
(
A
)
{
if
(
B
)
else
语句A
}
else
语句B
其中嵌套的if语句可以看成一条语句,基本结构是:
if
(
A
)
语句C
else
语句B
其中语句C是一条if语句:if
(
B
)
else
语句A
先判断第一层,如果符合,再判断内嵌第二层,以此类推。比如:if (a>0)
if(a>3) printf("hello")
else if((a>0)&&(a<3)) printf("OK")
即首先判断a是否大于0,只有这个条件成立了,然后再判断下面的if。
#include<stdio.h>int main()
{
int x=1,y=1,z=10
if(z<0)//不满足,以下4行不执行
if(y>0)
x=3
else
x=5
printf("%d\t",x) //输出1,跳格
if(z=y<0)//y<0不满足,为假,z被赋值为0
x=3 //此行不执行
else if(y==0)//y==0不满足,执行下面的else子句
x=5
else
x=7
printf("%d\t",x) //输出7,跳格
printf("%d\t",z) //输出0,跳格
}