A-A+
请选出以下程序的输出结果()。 #include <stdio.h> #define MIN
问题详情
请选出以下程序的输出结果()。 #include <stdio.h> #define MIN(x,y) (x<y)? x:y main() { int i,j,k; i=10;j=15; k=10*MIN(i,j); printf("%dn",k); }
A.15
B.100
C.10
D.150请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:本题考查宏定义。在C语言中,宏是直接替换的,所以表达式k=10*MIN(i,j)被直接替换为k=10*(i<j)?i:j,在这个表达式中,10*(i<j)的值为非零,所以整个表达式的值应为i的值,即为10。