※ 引述《happybean (豆子)》之铭言:
: 有一C程式中定义了以下宏(macro):
: #define sum(a, b)a+b
: #define prod(a, b)a * b
: 则当以下两行叙述执行结束时,ans1和ans2之值分别为何?
: ans1=10 * sum(1, 2);
: ans2=prod(3+4, 5);
: (A)ans1=12, ans2=23 (B)ans1=12, ans2=25
: => 答案为何为(A) ??
这个解释比较简单
ans1 = 10*sum(1,2) = 10*1+2 = 12
ans2 = prod(3+4,5)=3+4*5 = 23
macro就先把他套进去最后再看变怎样