EAGLE Help

switch


Das switch-Statement hat die allgemeine Syntax
switch (sw_exp) {
  case case_exp: case_statement
  ...
  [default: def_statement]
  }
und erlaubt die Übergabe der Steuerung an eines von mehreren case-Statements (mit "case" als Label), abhängig vom Wert des Ausdrucks sw_exp (der vom Integral-Typ sein muß).

Jedes case_statement kann mit einem oder mehreren case-Labels versehen sein. Die Auswertung des Ausdrucks case_exp jedes case-Labels muß einen konstanten Integer-Wert ergeben, der innerhalb des umschließenden switch-Statements nur einmal vorkommt.

Es darf höchstens ein default-Label vorkommen.

Nach der Auswertung von sw_exp werden die case_exp-Ausdrücke auf Übereinstimmung geprüft. Wenn eine Übereinstimmung gefunden wurde, wird die Steuerung zum case_statement mit dem entsprechenden case-Label transferiert.

Wird keine Übereinstimmung gefunden und gibt es ein default-Label, dann erhält def_statement die Steuerung. Anderenfalls wird kein Statement innerhalb der switch-Anweisung ausgeführt.

Die Programmausführung wird nicht beeinflußt, wenn case- und default-Labels auftauchen. Die Steuerung wird einfach an das folgende Statement übergeben.

Um die Programmausführung am Ende einer Gruppe von Statements für ein bestimmtes case zu stoppen, verwenden Sie das break-Statement.

Beispiel

string s = "Hello World";
int vowels = 0, others = 0;
for (int i = 0; s[i]; ++i)
    switch (toupper(s[i])) {
      case 'A':
      case 'E':
      case 'I':
      case 'O':
      case 'U': ++vowels;
                break;
      default: ++others;
      }
printf("There are %d vowels in '%s'\n", vowels, s);

Index Copyright © 1999 CadSoft Computer GmbH