Dem Wortlaut nach erklärt sich diese Schleife fast von selbst. Aufpassen sollte man aber immer! Diese Schleife wartet auf eine Bedingung und läuft dann solange, bis eine andere Bedingung ihr Ende vorsieht. Die letzte Bedingung muss immer vorgegeben sein, da sie sonst endlos läuft.

Viele Abstürze gängiger Programme haben irgendwie mit dieser Schleife zu tun. Es reicht aber nicht, irgendeine Bedingung pro forma schnell einzubauen, man sollte sie so wählen, daß sie zu erfüllen ist. Also etwa eine Begrenzung des Ablaufs. Vielleicht denken sie sogar vorher an den Abbruch, bevor sie über den Ablauf nachdenken?

Natürlich kann die do... while... Schleife an andere Bedingungen gekoppelt werden. Nebenstehende Grafik kann auf all diese Möglichkeiten aber nicht eingehen.

if... else...  |  for... Schleife  |   Strings in do... while... aufnehmen

  bis 100

Die while Schleife kennt nur eine Bedingung. Diese kann zwar mit logischem UND und ODER gekoppelt werden, bleibt aber eine einzige Bedingung.

Die Ausführung läuft sobald und solange die Bedingung erfüllt ist!

Begrenzen Sie also die while Schleife, obwohl gute Compiler und Browser nach etwa 20 Sekunden dem Treiben ein Ende setzen würden.

  Start   Ende

Manchmal vertippt man sich und statt des Anfangs setzen Sie den Endwert ein; oder umgekehrt. Probieren Sie beides aus und erhalten Sie immer die richtige Reihenfolge.

Es kommt immer darauf an, wie man zählt: Anfang++ bis Ende oder eben Ende++ bis Anfang

Auch hier treten die while und die if Anweisung wieder gekoppelt auf.

Wichtig ist, daß die if Anweisung als Abbruch der while Schleife dient, was obige Graphik verdeutlichen soll.

Der eigentliche Zählvorgang - also a := a + 1 - steht wieder unter der Bedingung mit while. Falls die Reihenfolge vertauscht wird, erfolgt zwar pro forma eine Meldung aber die Variablen werden zum aufsteigenden Zählen vertauscht.

Dreh- und Angelpunkt ist der Parameter des Zeigers. Dieser ist zwar belegbar aber nicht frei belegbar. Die while Anweisung sorgt dafür, solange die gleiche Meldung samt Möglichkeit zur Eingabe auszugeben, bis dieser weder negativ noch grösser als 10 ist.

Die while Schleife ist den beiden for Schleifen einfach vorangestellt. Erst nachdem der Ablauf diese verlassen hat, werden die Zählroutinen abgearbeitet. Weitere if... else... Bedingungen sind hier nicht nötig.

Pointer und Parameter  |  Die for Schleife

Startseite  |  Hinweise und Impressum  |  Facebook  |  Twitter  |  Google plus