繰り返しになりますが、私たちの最も愛されている「i=i--」のような問題です。C99には次のものがあります。
6.5式#2:前のシーケンスポイントと次のシーケンスポイントの間で、オブジェクトは保存された値を最大で1回変更する必要があります
70)この段落は!!未定義!!をレンダリングします 次のようなステートメント式
i = ++i + 1;
しかし、未発見の振る舞いについては、ランダムな出力から「文書化された方法でのプログラムの実行」(c99 3.4.3)までのバリエーションが存在する可能性があります。
だから、質問:
gccは、i = i ++、i = i--などのステートメントの動作を文書化していますか?
実際のコードは
int main(){int i=2;i=i--;return i;}