若有定义inta=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;
elsex=3;
elsex=6;
elsex=7;

输出结果为 2

#include <stdio.h>
int 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);
return 0;
}

追问

不好意思,打错,问题是X的值是多少?

追答

就是 x 的值, 执行程序中有注释部分的代码, 结果是 x = 2, 第一行就写给你了, 代码是给你的解释.

追问

答案是6额,这是四川省第35次二级考试的题,不知道为什么是6

追答

提供的程式完全可以运行, 运行一下就知道了, 答案应该是错误的. 人工录入错误很正常.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-08

追问

题问的是执行程序后X的值是多少,答案是6,不知道为什么

追答

答案错了,调试的结果就是2.

第2个回答  2013-04-08
2.就是一个if判断问题。
第3个回答  2013-04-08
2
弄这么多if else嵌套,想弄晕谁啊?
第4个回答  2013-04-08
我也感觉你这代码写的有问题追问

题上问的是执行程序后X的值是多少