A-A+

有如下程序段: #include<stdio.h> #define Max(a B) a>b

2022-08-06 00:29:28 问答库 阅读 173 次

问题详情

有如下程序段: #include<stdio.h> #define Max(a,B) a>b?a: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>b?a:b这个条件表达式中,c+a>b为真,所以用a的值作为整个表达式的值,而a的值为5,所以整个表达式的值为5。

考点:程序