この単純なCプログラムをGCCで試しました
#include<stdio.h>
int main(){
int x=5;
printf("%d,%d,%d,%d,%d",++x,x++,x,x++,++x);
return 0;
}
出力は9,7,7,6,6でした。トレースして、6,6,7,7,9と出力されると想定しましたが、逆の順序で想定を見つけました。どうしてですか。
この単純なCプログラムをGCCで試しました
#include<stdio.h>
int main(){
int x=5;
printf("%d,%d,%d,%d,%d",++x,x++,x,x++,++x);
return 0;
}
出力は9,7,7,6,6でした。トレースして、6,6,7,7,9と出力されると想定しましたが、逆の順序で想定を見つけました。どうしてですか。