作者xatier (阿飄先生)
看板C_and_CPP
標題[問題] GCC
時間Wed Aug 4 14:39:27 2010
對於同一段程式碼
++ 運算子
在不同環境下所形成的效果
//=============================
//令人困惑的一段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