C语言高手请进,

来源:百度知道 编辑:UC知道 时间:2024/05/09 10:10:14
高手们讲下C语言中IF语句的各种用法,主要是if语句的嵌套问题,最好举例说明,帮我解释下下面这个IF语句是怎样形成的:
#include "stdio.h"
#include "conio.h"
main()
{
int a=1,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;
printf("%d",x);
getch();
}


先帮我解释我自己放在上面的程序,然后请各位高手自己举例!如果讲得详细,我可以再加分给你,IF和ELSE配对我知道,我要知道的是这个程序配对时是怎样运行的,好像第一个IF语句为真,第二个为假,那下面又怎样运行呢?

1:#include "stdio.h"
2:#include "conio.h"
3:main()
{
4:int a=1,b=3,c=5,d=4,x;
5:if(a<b)
6:if(c<d) x=1;
7:else
8:if(a<c)
9:if(b<d) x=2;
10:else x=3;
11:else x=6;
12:else x=7;
13:printf("%d",x);
14:getch();
}
我加的那些序号是为了更好的讲解.现实中那是不需要的.在C语言中IF和ELSE最近的相对的.其中6和7对应,9和10对应,8和11对应,5和12对应.当IF语句中条件不成立就跳过IF下面的语句,直接执行与之对应的ELSE语句.因为5句为真,所以就继续执行6句.但是6句的条件不成立,所以就执行与6句对应的7句,8句,8句为真,继续执行9句,而且9句为真,所以就把2赋予X.所以最终答案为2.

#include \"stdio.h\"
#include \"conio.h\"
main()
{
int a=1,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;
printf(\"%d\",x);
getch();
}
//把括号标记好久看清楚了

前面的不用说了啊,从主程序开始.