看板 C_and_CPP 關於我們 聯絡資訊
對於同一段程式碼 ++ 運算子 在不同環境下所形成的效果 //============================= //令人困惑的一段code #include <stdio.h> int main (void) { int i = 0; printf("%d | %d | %d\n", i++, ++i, i++); getchar(); return 0; } //========================== 在Dev-C下編譯出來的結果是 2 | 2 | 0 //========================== 我用 Linux 下的 gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3) compile出來的結果卻是 2 | 3 | 0 //========================== 據我所知, dev c是以GCC當編譯器的不是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.60.107.233
Bencrie:Dev-C++ 用的gcc是 3.4 / 4.0 ,版本還是有差吧 08/04 14:41
Bencrie:MinGW團隊不知道有沒有自己加 patch 08/04 14:42
loveme00835:這種程式碼不要寫, 很可怕! ( ̄ー ̄;) 08/04 14:53
tinlans:這一切都不重要,重要的是這樣寫是錯的。 08/04 14:56
tinlans:不要把引數傳遞列的 , 當成 comma operator,會吃大虧。 08/04 14:57
x000032001:十二戒之第九戒 08/04 14:59
xatier:了解 08/04 15:48