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 | if(--x == 0) |
2 | {
|
3 | //Code
|
4 | }
|
oder
1 | if(! --x) |
2 | {
|
3 | //Code
|
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.