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

admin2009-02-15  27

问题 有如下程序段:     #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/DLK0FFFM
0

最新回复(0)