Verwenden Sie die Switch-Anweisung in C , eine große Anzahl von Werten für eine einzelne Variable oder Ausdruck auszuwerten. Schalter kann sehr viel aufgeräumter als eine lange Kette von If Else -Anweisungen. Anleitung
Erstellen einer switch-Anweisung
1
Wählen Sie den Wert , die eine Aktion in Ihrem Switch-Anweisung bestimmen. .
Schalter (variable ) {
: Es kann eine einzelne Variable , das Ergebnis eines Funktionsaufrufs oder eines Ausdrucks
2 Platz dieser Wert oder Ausdruck nach dem Switch-Anweisung wie folgt aussehen Seite 3
Machen Sie eine Liste aller Werte, die Sie zu fangen. Beachten Sie, dass es möglich ist mehrere Werte , um die gleiche Wirkung haben, aber sie können nicht reicht , nur Listen mit Werten . Zum Beispiel können Sie nicht über einen Fall, bei Werten von 301 bis 400 , es sei denn, Sie alle 100 Werte eins nach dem anderen auflisten möchten !
4
wissen Konstanten sein , dass es sehr üblich, für die Werte definiert mit der # define -Anweisung C Precompiler
5
hinzufügen case-Anweisung für jeden Wert in folgendem Format : .
Fall Wert : Seite 6 Folgen jeder case-Anweisung mit einem oder mehrere Aktionen . Anders als die meisten C-Strukturen , brauchen Sie keine geschweiften Klammern für mehrere Anweisungen .
7
abschließen jeden Satz von Befehlen mit einer break-Anweisung vor dem Beginn des nächsten Fall . Wenn Sie dies nicht tun , wird die Ausführung " fallen durch " in den nächsten Fall, der praktisch nie wünschenswert ist . Es ist ö.K. weglassen , wenn die Pause etwas anderes (wie eine return-Anweisung ) sorgt es wird nie " fallen durch . "
8
Erstellen Sie eine spezielle Standard-Fall , etwas nicht von einem früheren Fall abgestimmt fangen. Es ist nur standardmäßig nicht zwischen Groß- Standard
9
abschließen Block mit einem } , wie in diesem Beispiel komplett : .
Schalter ( evaluate_color (rot, grün, blau) ) {case ROT: printf ("A leuchtend roten Sonnenuntergang füllt den Himmel \\ n . "); x = 11; break; Fall GELB: printf (" . die Sonne brennt gnadenlos \\ n"); x = 14; break; Fall GRÜN: x = 10 ; evaluate_green (); break; Fall BLUE : printf (" Herzlichen Glückwunsch, Sie gewinnen \\ n "); return; default: printf (" . Nichts besonderes passiert \\ n"); break;}