#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf("%d\n",a); } 答案是多少啊?

为什么我算的是13啊

a=12
因为a+=Tap(k+m)展开宏后得到
a+=2*k+m+1

如果错了你就应该将宏写为
#define Tap(X) 2*(X)+1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-24
12
a+=Tap(k+m);
这句相当于a=a+(Tap(k)+m)
a=6+(2*2+1)+1)
a= 12
第2个回答  2011-06-23
(2+1)*2+1+6=13
没错,是13
第3个回答  2011-06-23
13
a=2*(2+1)+1+6
相似回答