作业帮 > 综合 > 作业

一段简单的条件语句但我不懂 那两个if怎么回事 第一个相当于没有?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/06 00:24:41
一段简单的条件语句但我不懂 那两个if怎么回事 第一个相当于没有?
#include"stdio.h"
void main()
{
int a=10,b=15,c=20,x=0;
if(a>b)
if(b>c)
x=1;
else x=2;
printf("%d",x);
}
为什么结果是0
当然不是了,只有第一个if的条件满足了才会执行第二个if.
由于a>b不成立(a=10 < b=15),所以第二个if不执行.直接执行printf语句.
那个else按照语法规则是匹配内层if(即第二个if)的.
写成这样就清楚了:
if(a>b)
{
if(b>c)
{
x=1;
}
else
{
x=2;
}
}