问C语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 08:10:44
main()
{ int a=1,b=3,c=5,d=4;
if(a>b)
if(c>d) x=1;
else if(a<c)
if(b>d) x=0;
else x=6;
eles x=3;
else x=7;
printf("%d\n",x);
}每个条件是如何执行的,麻烦详细点

答案是7
int a=1,b=3,c=5,d=4,x;
if(a>b){ // 如果a大于b,则执行这个大括号里的代码,否则x=7
if(c>d) x=1; //如果c大于d,则x=1,否则执行下面的else
else if(a<c){ //a小于c,则执行这个括号里的代码,否则x=3
if(b>d) x=0; //如果b大于d,则x=0,否则x=6
else x=6;
}
else x=3;
}
else x=7;
这个代码正好从一开始条件就不符合,所以就直接执行x=7

其实你的程序里带上括号你就容易懂了。加括号如下:
main()
{ int a=1,b=3,c=5,d=4;
if(a>b)
{ if(c>d) x=1;
else {if(a<c)
{if(b>d) x=0;
else x=6; }
eles x=3; }
}
else x=7;
printf("%d\n",x);
}
首先判断a是否大于b,若不大于b,则x=7;
若a大于b,则判断c是否大于d,若大于,则x=1;
若c不大于d,则判断a是否小于c,若a不小于c,则x=3;
若a小于c,则判断b是否大于d,若大于,则x=0;
若不大于则x=6.

有几点语法错误啊,是初学吧,呵呵.
1.没有定义,
2.if...else..用错了啊,你的最后一个else 都写错了,下次注意点啊.
我改了下,看看吧,
#include<stdio.h>
void main()
{
int a=1,b=3,c=5,d=4;
int x;
if(a>b&&c>d)
x=1;
else