有如下程序段: #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

admin2010-01-10  85

问题 有如下程序段:    #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、编译错误

答案2

解析 在C语言中,宏定义是直接替换的,所以在c+a>b?a:b这个条件表达式中,c+a>b为真,所以用a的值作为整个表达式的值,而a的值为5,所以整个表达式的值为5。
转载请注明原文地址:https://jikaoti.com/ti/XmI0FFFM
0

最新回复(0)