[問題] 編譯出來的問題

看板C_and_CPP (C/C++)作者 (.)時間16年前 (2010/03/15 12:05), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 為什麼跑出來結果是13 希望得到的正確結果: 開發平台: dev c++ 有問題的code: (請善用置底文標色功能) #include<stdio.h> #define M(a,b) a*b int main(void) { int i=5,j=6; printf("i*j=%d",M(i+2,j-2*2)); system("pause"); return 0; } -- 記得要痛快地活 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.163.212

03/15 12:08, , 1F
置底文第十誡
03/15 12:08, 1F

03/15 21:02, , 2F
印象中不久前版上也有類似的問題
03/15 21:02, 2F

03/15 21:02, , 3F
問題在define取代後實際上是i+2*j-2*2,所以結果是13
03/15 21:02, 3F
文章代碼(AID): #1BdR7ybb (C_and_CPP)
文章代碼(AID): #1BdR7ybb (C_and_CPP)