百香果外皮发霉能吃吗:[c]一个if语句的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 11:04:50
以下程序的输出结果是
main()
{
int a,b,c;
int s,w,t;
s=w=t=0;
a=-1,b=3,c=3;
if(c>0)s=a+b;
if(a<=0)
{if(b>0)
if(c<=0)w=a-b;
}
else if(c>0)w=a-b;
else t=c;
printf("%d%d%d,s,w,t");
}

我就是不太明白那个w,最后为什么是0?

main()
{
int a,b,c;
int s,w,t;
s=w=t=0; //w为0
a=-1,b=3,c=3;
if(c>0)s=a+b; //c>0,执行
if(a<=0) //a<=0成立
{if(b>0) //b>0成立
if(c<=0)w=a-b; //c大于0,不执行
}
else if(c>0)w=a-b; //因为a<=0成立,不执行else
else t=c; //c>0成立,不执行else
printf("%d%d%d,s,w,t"); //w还是0
}

对w赋值的语句一个都没执行。

最后的W是等0啊