[問題] GCC

看板C_and_CPP作者 (阿飄先生)時間14年前 (2010/08/04 14:39), 編輯推噓1(106)
留言7則, 5人參與, 最新討論串1/1
對於同一段程式碼 ++ 運算子 在不同環境下所形成的效果 //============================= //令人困惑的一段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

08/04 14:41, , 1F
Dev-C++ 用的gcc是 3.4 / 4.0 ,版本還是有差吧
08/04 14:41, 1F

08/04 14:42, , 2F
MinGW團隊不知道有沒有自己加 patch
08/04 14:42, 2F

08/04 14:53, , 3F
這種程式碼不要寫, 很可怕! ( ̄ー ̄;)
08/04 14:53, 3F

08/04 14:56, , 4F
這一切都不重要,重要的是這樣寫是錯的。
08/04 14:56, 4F

08/04 14:57, , 5F
不要把引數傳遞列的 , 當成 comma operator,會吃大虧。
08/04 14:57, 5F

08/04 14:59, , 6F
十二戒之第九戒
08/04 14:59, 6F

08/04 15:48, , 7F
了解
08/04 15:48, 7F
文章代碼(AID): #1CMGiYbe (C_and_CPP)