Eine Switch-Anweisung prüft einen Zahlenwert (jede Form von Integer oder Enum) auf verschiedene Zustände, ähnlich einer Kette von If-Anweisungen.

#include <stdio.h>

typedef enum my_enum__T {
    ONE,
    TWO,
    THREE
} my_enum_t;

int main()
{
    my_enum_t e = TWO;

    switch(e)
    {
        case ONE:
            printf("ONE\n");
            break;

        case TWO:
            printf("TWO\n");

        case THREE:
            printf("THREE\n");
            break;

        default:
            printf("<unknown>");
    }

    return 0;
}

Folgende Schlüsselworte treten dabei auf:

  • case markiert den Code für ein einzelnen Fall
  • break beendet den Code für den einzelnen Fall. Wird break weggelassen, so "fällt das Programm bei der Ausführung durch" und der nächste case-Block wird mit ausgeführt. Dies ist selten gewünscht.
  • Switch-Anweisungen sollten alle möglichen Fälle abdecken. Ein default-Block deckt alle nicht ausformulierten Restfälle ab. Er verhält sich dabei wie eine normale case-Anweisung.

Last modified: Friday, 1 June 2018, 10:51 AM