dedlfix: "to increment" ;-)

Beitrag lesen

Hi!

Flasch!!1elf Es muss heißen for (d = 100; d > 0; --d)
PS: Der Vergleich ist wohl überflüssig und frisst nur sinnlos Rechenzeit. (d = 100; d; --d) oder gleich (d = 100; d--;) sollte genügen.

Nein, denn bei deinen ersten beiden Varianten geht der Wert der Laufvariable von 100 bis 1, bei der dritten von 99 bis 0. d wird nach dem Vergleich dekrementiert aber noch bevor der Schleifenkörper ausgeführt wird und geht damit mit eins weniger in die Runden. Wenn du Wert auf den Wert von d legst, musst du dir was anderes ausdenken.

Im Allgemeinen tragen solche zwar funktionierenden aber "kryptischen" Abkürzungen wenig zur Laufzeiteinsparung bei, führen aber eher zur erschwerten Verständlichkeit des Codes. Wenn es also nicht aufgrund sehr hohen Rechenaufwandes auf jede eingesparte Anweisung ankommt, ist es nicht empfehlenswert solcherart Abkürzungen unbedingt einsetzen zu wollen. Ein Entwickler kostet in der Regel mehr als die nächstgrößere CPU.

Lo!