A-A+
以下程序的输出结果是【 】。 include <stdio.h> define MAX(x
问题详情
以下程序的输出结果是【 】。 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("%dn",t); }
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:7
本题综合考查带参数的宏以及三目运算符的计算方法。三目运算符的一般形式是:<表达式1>?<表达式2>:<表达式3>。“?:”运算符的含义是:先求表达式1的值,如果为真,则求表达式2的值,并把它作为整个表达式的值;如果表达式1的值为假,则求表达式3的值,并把它作为整个表达式的值。注意,在本题中宏替换时可采用逐步求解,最终为7>6?7:6*10,即t=7>6?7:60,其值为t=7。