1
可能重複:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)printf的輸出是相反的順序
i的GCC
#include<stdio.h>
int main(){
int x=5;
printf("%d,%d,%d,%d,%d",++x,x++,x,x++,++x);
return 0;
}
嘗試這種簡單的C程序,並輸出爲9,7, 7,6,6 我追溯它,並認爲它會打印6,6,7,7,9,但我發現我的假設相反的順序,怎麼會來!
這是未定義的行爲。您基本上只能在語句內的每個遞增變量或位置增加一次。 –
我的輸出是:9,7,9,6,9 – antonio081014