switch-Anweisung: Bemerkungen
-
ACHTUNG: Da es sich bei den
case
-Marken um
gewöhnliche Sprungziele handelt, werden auch die Anweisungen der folgenden
case
-Teile ausgeführt, wenn das Programm aufgrund einer
Übereinstimmung des Ausdrucks mit einer case
-Konstanten hinter
dem betreffenen Label fortgesetzt wird! Bedenkt man dies nicht, so kann
der Programmablauf ungeahnte Folgen haben.
-
Sollen nur die Anweisungen ausgeführt werden, die zu einem
case
-Teil
gehören, die Kette also nach Abarbeitung des case
-Teils beendet
werden, so ist dies explizit durch eine break-Anweisung zu erzwingen.
Auf die
break-Anweisung wird noch ausführlich in den folgenden
Abschnitten eingegangen.
-
Keine zwei
case
-Marken in derselben switch-Anweisung
dürfen denselben Wert haben.
-
Es darf zudem in einer switch-Anweisung höchstens eine Marke
der Form
default: ...
auftreten.
Das auf der nächsten Seite folgende Beispiel eignet sich sehr gut, um
die Notwendigkeit des Einsatzes des break-Befehles einzusehen. Man
lösche einmal die break-Befehle und vergleiche die Ergebnisse!
(Das Beispiel entspricht zudem zum Vergleich dem Beispiel aus dem Abschnitt über
die else-if-Schleife.)