Gunnar Bittersmann: Kurioses Inkrementieren

Beitrag lesen

Folgender Code gibt nicht das erwartete Ergebnis zurück.

Doch, Seltermann. Abhängig von der Erwartung. ;-)

var i=4;
i *= i++;
"i" müsste in der letzten Zeile 17 sein, ist aber 16.

Nö. Ja.

i *= i++ heißt i = i * i++

Es wird also 4 * 4 = 16 berechnet, i um eins erhöht auf 5, dann die 16 dem i zugewiesen.

Live long and prosper,
Gunnar

--
„Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)