以下程序的运行结果是【 】。 #define MAL(a,b) (a>b? a:b)+1 main() { int i=6,j=8; printf("%d\n",MAL(i,j)); }

admin2009-04-15  33

问题 以下程序的运行结果是【  】。
   #define MAL(a,b) (a>b? a:b)+1
   main()
   {  int  i=6,j=8;
   printf("%d\n",MAL(i,j));
    }

选项

答案9

解析 用i和j替换宏MAL(a,b)小的参数a和b,(a>b?a:b)+1等价于(i>j?i:j)+1。因为6>8为假,则关系表达式i>j?i:j的值就是j的值,j=8,8+1=9,最后输出9。
转载请注明原文地址:https://jikaoti.com/ti/wFK0FFFM
0

最新回复(0)