问题
单项选择题
有如下程序段: #include <stdio.h> #define Max(a,b) a>ba:b main() { int a=5,b=6,c=4,d; d=c+Max(a,b) ; printf("%d",d) ; } 其输出结果为______。
A.10
B.5
C.6
D.编译错误
答案
参考答案:B
解析:[评析] 在C语言中,宏定义是直接替换的,所以在c+a>ba:b这个条件表达式中,c+a>b为真,所以用a的值作为整个表达式的值,而a的值为5,所以整个表达式的值为5。