下列程序的输出结果是( ) #include <stdio.h> void main() { int a = 55, b = 50, c = 60, d; d = a > 2

下列程序的输出结果是( )
#include <stdio.h>
void main()
{ int a = 55, b = 50, c = 60, d;
d = a > 20 ? b : c;
switch(d)
{ case 40:printf(“%d,”, a);
case 50 : printf(“%d,”, b);
case 60 : printf(“%d,”, c);
default : printf(“$\n”);
}
}
选择一个答案

a. 50, 60

b. 50, $

c. 60, $

d. 50, 60, $

答案:d. 50, 60, $

解析:
d = a > 20 ? b : c;
由于a是大于20的,所以d=b=50
执行case 50 : printf(“%d,”, b);
输出50
因为后面没有break语句,继续向后面执行
case 60 : printf(“%d,”, c);
default : printf(“$\n”);

希望能帮到你。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-25
D追问

我的理解是:d = a > 20 ? b : c;
d = 55 > 20 ? 50 : 60; 条件运算
因55 > 20 , 非0输出 第一个表达式:50
所以我想问的是 为啥不是 50,50,50,$?

相似回答