Sekali lagi, masalah seperti "i=i--" yang paling kami sukai. Di C99 kami memiliki:
6.5 Ekspresi #2: Antara titik urutan sebelumnya dan berikutnya suatu objek harus memiliki nilai tersimpan yang diubah paling banyak satu kali
70) Paragraf ini menjadi !!tidak terdefinisi!! ekspresi pernyataan seperti
i = ++i + 1;
Namun untuk perilaku yang tidak dapat ditentukan, terdapat varian dari keluaran acak hingga "eksekusi program secara terdokumentasi" (c99 3.4.3)
Jadi, pertanyaannya:
Apakah gcc mendokumentasikan perilaku untuk pernyataan i=i++, i=i--, dan seterusnya?
Kode sebenarnya adalah
int main(){int i=2;i=i--;return i;}