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

admin2009-01-15  21

问题 有如下程序段:    #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://kaotiyun.com/show/hGXp777K
0

最新回复(0)