6. 以下程序的输出结果是 C
#include<stdio.h>
#define MAX(x,y) (x)>=(y)?(x):(y)
main()
{ int i=10,j=15;
printf("%d",10*MAX(i,j));
}
A. 15 B. 100
C. 10 D. 150
为什么选C?
如下
#include <stdio.h>结果是15 原因是宏定义并非计算A为3+3的值,而是仅仅将‘3' ,'+' ,'3'字符串赋给A
输出的结果即为3+3*3+3=15
2.本题中
#define MAX(x,y) (x)>=(y)?(x):(y)将替换文本 (x)>=(y)?(x):(y) 赋给 MAX(x,y)
输出即为 10*x >= y? x: y 10*x = 100 大于 15 输出 x ,即为 i 等于 10