Cプログラムを実行し、さまざまなCコンパイラでさまざまな出力を取得しました。以下は私のプログラムです
void main()
{
int i=5;
printf("%d%d%d%d%d",i++,i--,++i,--i,i);
}
on boarnland c ++ complier o / p is
45545
そしてgccでその
45555
それは本当にコンパイラに依存するのか、それともOSに依存するのか?
関数呼び出しの引数は、左から右にスタックにプッシュされます。評価は、スタックからポップアウトすることによって行われます。評価は右から左で行われるため、結果が得られます。