C语言题解!!

来源:百度知道 编辑:UC知道 时间:2024/05/22 16:22:12
当a=2,b=3,c=5,d=4时,执行下面一段程序后,x的值是____.
if(a<b)
if(c>d)x=1;
else if(a<c)
if(b>d)x=2;
else x=3;
else x=6;
else x=7;
我被这道题搞乱了,书上答案说是1,请高手给详细指点一下!马上给分!!

if与else 总是相邻且最近的是一对
观察这个程序
首先得到
if(b>d)x=2;
else x=3;是一对
if(c>d)x=1;
else 是一对
程序的大致轮廓就清楚了
if(a<c)和else x=6
if(a<b)和else x=7 分别一对了 你可以实验一下 不明白 一起研究

明白了么
if(a<b)
{
if(c>d)
{
x=1;
}
else if(a<c)
{
if(b>d)
{
x=2;
}
else
{
x=3;
}
}
else
{
x=6;
}
}
else
{
x=7;
}

if(a<b)满足条件
if(c>d)x=1;满足条件完成 退出
else if(a<c)
if(b>d)x=2;
else x=3;
else x=6;
else x=7

也是周六考了吧!我也是啊!
还有很多不懂啊!
我只知道else与它(前)相临最近的IF配对,
这个我也不清楚,
你还是把它写到WIN-TC里运行下吧!

else总是和自己最近的if配对的.
因为a<b所以执行if(c>d)
因为c>d所以执行x=1..这样程序完毕.
你会问为什么下面这么多就不执行了吗?
那是迷惑你的.
根据else总是和自己最近的if配对的.
你就会发现.下面的句子完全不会执行

if();else if();语句只要满足一个条件就退出运行了,这个程序的第一个条件a<b,满足,那么运