6.有如下宏定义 #define s(a) a*3 ,则执行表达式x=s(1+2)后,变量x的值为( D).A.10 B.9 C.8 D.答案为什么不是b啊,求高手相助,
问题描述:
6.有如下宏定义 #define s(a) a*3 ,则执行表达式x=s(1+2)后,变量x的值为( D).A.10 B.9 C.8 D.
答案为什么不是b啊,求高手相助,
答
编译的时间 x=s(1+2)就会宏替换成 1+2*3,所以等于7
想要等于9 就要
#define s(a) (a)*3