以下程序运行后的输出结果是 [ ]。 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; pri

admin2013-06-11  27

问题 以下程序运行后的输出结果是 [  ]。
       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);
       }

选项

答案1

解析 条件运算符优先于赋值运算,但低于逻辑运算、关系运算、算术运算。条件运算的一般形式为(表达式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。
转载请注明原文地址:https://kaotiyun.com/show/QVJp777K
0

最新回复(0)