以下程序的输出结果是【 】。 #include <stdio.h> #define MAX(x,y)(x),(y)?(x):(y) main() { int a=5,b=2,c=3,d=3,t; t=MAX(a+b

admin2013-02-23  22

问题 以下程序的输出结果是【  】。
   #include  <stdio.h>
   #define MAX(x,y)(x),(y)?(x):(y)
   main()
   {  int a=5,b=2,c=3,d=3,t;
      t=MAX(a+b,c+d)*10;
      printf("%d\n",t);
   }

选项

答案7

解析 本题综合考查带参数的宏以及三目运算符的计算方法。三目运算符的一般形式是:<表达式1>?<表达式2>:<表达式3>。“?:”运算符的含义是:先求表达式1的值,如果为真,则求表达式2的值,并把它作为整个表达式的值;如果表达式1的值为假,则求表达式3的值,并把它作为整个表达式的值。注意,在本题中宏替换时可采用逐步求解,最终为7>6? 7:6*10,即t=7>6? 7:60,其值为t=7。
转载请注明原文地址:https://jikaoti.com/ti/VTn0FFFM
0

最新回复(0)