Erstellen eine Switch-Anweisung in C

December 28

Verwenden Sie die Switch-Anweisung in C, eine große Anzahl von Werten für eine einzelne Variable oder einen Ausdruck auswerten. Switch kann viel aufgeräumter als einer langen Reihe von If Else-Anweisungen.

Anweisungen

Erstellen einer Switch-Anweisung

1 Wählen Sie den Wert, der eine Aktion in der Switch-Anweisung bestimmen wird. Es kann sein, eine einzelne Variable, das Ergebnis des einen Funktionsaufruf oder ein beliebiger Ausdruck.

2 Setzen Sie diesen Wert oder Ausdruck nach der Switch-Anweisung wie folgt:

Schalter (variabel) {}

3 Machen Sie eine Liste aller Werte, die Sie fangen wollen. Beachten Sie, dass ist es möglich, dass mehrere Werte die gleiche Aktion haben, aber Sie können nicht reicht, nur Listen von Werten. Beispielsweise können nicht Sie einen Fall für Werte von 301 bis 400, haben, sofern Sie alle 100 Werte einzeln auflisten möchten!

4 Wissen Sie, dass es durchaus üblich, dass die Werte mit der #define C Precompiler-Anweisung definierte Konstanten sein.

5 Fügen Sie eine Case-Anweisung für jeden Wert im folgenden Format:

Case-Wert:

6 Folgen Sie jede Case-Anweisung mit einer oder mehreren Aktionen. Im Gegensatz zu den meisten C-Strukturen brauchen Sie geschweifte Klammern für mehrere Anweisungen nicht.

7 Schließen Sie jeden Satz mit einem Break-Anweisung vor Beginn der nächsten Case-Befehle. Wenn Sie dies nicht tun, wird die Ausführung "in den nächsten Fall, die praktisch nie wünschenswert ist, fallen durch". Es ist O.K., die Pause zu verlassen, wenn etwas anderes (z.B. eine return-Anweisung) gewährleistet es nie "Fortfahren wird."

8 Erstellen Sie eine spezielle Standardfall etwas nicht übereinstimmend von einem früheren Fall abzufangen. Es ist nur in der Standardeinstellung nicht RS Standard.

9 Abschluss des Blocks mit einer}, wie in diesem vollständigen Beispiels:

Switch (Evaluate_color (rot, grün, blau)) {}Fall rot:Printf ("ein brillanter roter Sonnenuntergang füllt den Himmel. \n");X = 11;zu brechen;Fall Gelb:Printf ("die Sonne schlägt sich gnadenlos. \n");X = 14;zu brechen;Fall grün:X = 10;evaluate_green();zu brechen;Case blau:Printf ("Herzlichen Glückwunsch, du gewinnst! \n");zurück;Standard:Printf ("nichts besonderes passiert. \n");zu brechen;}

Tipps & Warnungen

  • Switch funktioniert nur, wenn alle Vergleiche gegen eine einzelne Variable oder Ausdruck. Erstellen Sie andernfalls eine If Else-Anweisung mit mehreren anderen Ifs.
  • Mit "fallen durch" gilt im Allgemeinen als eine schlechte Technik und sollte vermieden werden, wenn Sie absolut sicher sind, dass Ihr Code sowohl korrekt als auch lesbar ist.