看板Examination
: 有一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就先把他套進去最後再看變怎樣
--
※ 批踢踢實業坊(ptt.cc), 來自: 220.133.8.246※ 文章網址: https://www.ptt.cc/bbs/Examination/M.1416718984.A.A37.html
推 happybean: 感謝解惑!! 11/29 15:30