看板 C_and_CPP 關於我們 聯絡資訊
剛剛看了關於巨集的爬文,看到一個問題我也覺得滿怪的所以想問問板上的大大 #include<stdio.h> #include<stdlib.h> #define CUBE(x) x*x*x int main() { int n = 3; printf("%d",CUBE(++n)); system("pause"); } 為什麼答案是150阿?有人能告訴我詳細的算式ㄇ?THX -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.220.133
tropical72:代入後:++n*++n*++n, 不過我看是4*5*6=120.. 10/28 18:38
purpose:仔細看完置底文 10/28 18:38
tropical72:= = 犯傻了我, 十三戒之8... 10/28 18:40
nowar100:再跟著我念:發問前請看置底 發問前請看置底 發問前請... 10/28 19:03
vm6jp6rmp4:這是不合規定的?有人能告訴我150怎來的?我還是不太懂! 10/28 19:13
xatier: 5*5*6 ? 10/28 19:18
vm6jp6rmp4:為什麼是5*5*6? 10/28 19:22
ericinttu:為什麼要研究556? 10/28 19:24
vm6jp6rmp4:我想比較徹底了解一下這類的題型! 10/28 19:26
stupid0319:因為答案錯了 10/28 19:28
tropical72:我覺得可以停下來了,我幫你執行是216,看13-8比較有意義 10/28 19:35
purpose:http://ppt.cc/-sXs 因為未定義,所以編譯器爽就好 10/28 19:38
purpose:為什麼未定義,因為放權給編譯器去翻譯出效能最好的 10/28 19:39
purpose:『執行順序』(不是送入堆疊的 __cdecl 順序) 10/28 19:39
purpose:就像矩陣相乘,大家都知道不同順序需要的成本不同,答案同 10/28 19:40
loveme00835:管他怎麼來... 10/28 19:44
loveme00835:「前提」都錯了, 沒有什麼可以討論 10/28 19:45