问题 填空题

以下程序运行后的输出结果是 [8] 。 main() {int x, a=1,b=2,c=3,d=4;x=(a<b)a:b; x=(x<c)x:c; x=(d>x)x:d;printf("%d\n",x); }

答案

参考答案:A

解析:评析:条件运算符优先于赋值运算,但低于逻辑运算、关系运算、算术运算。条件运算的一般形式为(表达式1)(表达式2):(表达式3),当(表达式1)值为真时,(表达式2)的值为整个表达式的值;当(表达式1)的值为假时,(表达式3)的值为整个表达式的值。题中执行表达式“x=(a<b)a:b”后,x=1;再执行表达式“x=(x<c)x:c”后,x=1,将此值代入后—个表达式“x=(d>x)x:d”,由于“d>x”值为真,故x的值为1。

单项选择题
单项选择题