#include<stdio.h>
int main(void)
{ int i = 3;
printf("%d ,%d,%d\n",++i, i++, i);
printf("i is %d\n", i);
i = 3;
printf("%d,%d,%d\n",i++, ++i, i);
printf("i is %d\n", i);
return 0;
}
vc++6.0運行精結果:

Dev-c++運行結果:

求大神指教,謝謝。
uj5u.com熱心網友回復:
未定義行為 結果沒意義不用討論
uj5u.com熱心網友回復:
幾十年了,老是有人問同一行一個變數多次++--,別這樣寫,沒有C強制標準,編譯器自己實作,就是編譯器啥結果都可以理解為符合C規范.uj5u.com熱心網友回復:
你只要知道:int i=3;
int a=i++;
a=3;i=4;
int b=++i;
b=5;i=5
這樣就好了,主要的知識點是i++和++i在賦值的時候的變化。
實際作業中是不會寫你那樣的代碼的,要挨批評的。
uj5u.com熱心網友回復:
不用太糾結,很煩的
uj5u.com熱心網友回復:
這有關編譯器的具體實作,如果真想弄清楚,需要查看反匯編代碼,不過這樣做也沒什么具體意義uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84714.html
標籤:C語言
上一篇:求助!!!在CodeBlocks里查看記憶體,Memory dump視窗總是一閃而過
下一篇:C語言求助
