Hallo, ich dachte bisher immer, daß a) if (x-- == 0) identisch ist mit b) x--; if (x == 0) Dem ist aber nicht so. Was macht aber genau die erste Zeile ? Hintergrund: Ich hatte erst Version a) eingesetzt. Nachdem das nicht funktionierte, habe ich es durch b) ersetzt. Und siehe da: Er tut nun, was ich erwarte. Gruß Andy
Es gibt pre-decrement und post-decrement. Äquivalent zu b) ist
1 | |
2 | |
3 | |
4 | |
oder
1 | |
2 | |
3 | |
4 | |
In Version a) wird x erst nach dem Vergleich dekrementiert, und das ist offensichtlich nicht das, was Du willst...
Danke Dir, so etwas ähnliches habe ich mir gedacht. Aber daß man da die Wahl (pre- und post-) hat, war mir neu. Gruß Andy
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.