Hallo!
Aus Basic kenne ich es folgendermaßen:
Select Case Wert
Case Is = 5:
Case Is = 10:
Case Is > 20:
case else:
End select
Mit der Switch-Anweisung komme ich nicht zurecht. Überprüfen
ob Wert nun den Inhalt 5, oder 10 hat geht,
Echt? Also unter C produziert Dein Code garantiert ein paar Fehler. Es heisst nicht „select case“ sondern „switch“ und das „Is =“ hat da nichts zu suchen.
switch (wert){
case : do something; break;
case : do something else; break;
default: do the default; break;
}
aber wie überprüfe
ich ob der Inhalt von Wert größer 20 ist?
Nicht mit case, sondern mit „if“.
Und das else gibt es
in C (nicht C++) auch nicht.
Nein, das heißt bie C „default“.
Wenn ich default nehme, wird
immer dieses Ereignis ausgeführt, egal ob der Wert nun 5 oder
10 ist und somit ein anderes Ereignis ausgeführt werden
müsste.
Die „switch - case“ Konstruktion dient dazu, einen Ausdruck mit mehreren konstanten ganzzahligen Werten zu vergleichen.
Dabei ist mit dem „case“ Schlüsselwort nur eine Textposition markiert, das Programm wird nach Ende einer Alternative weiter ausgeführt. Du musst in der Tat jeden „Case“ mit einem „break“ explizit beenden.
K/R empfehlen, auch nach dem „default“ ein „break“ zu setzen, auch wenn das nicht zwingend notwendig ist. Du kannst aber bei einer späteren Erweiterung nicht aus Versehen das „break“ vergessen.
Gruß
Fritze