填空题
以下程序的输出结果是______。
#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);
【正确答案】
1、7
【答案解析】[解析] 本题综合考查带参数的宏以及三目运算符的计算方法,三目运算符的一般形式是:<表达式1>?<表达式2>:<表达式3>
“?”运算符的含义是:先求表达式1的值,如果为真,则求表达式2的值并把它作为整个表达式的值;如果表达式1的值为假,则求表达式3的值并把它作为整个表达式的值。
注意:在本题中宏替换时可采用逐步求解,最终为7>6?7:6*10,即t=7>6?7:60,其值为l=7。