1 Pluspunkt 0 Minuspunkte

Wie kann ich ein switch mit einem String erstellen?

char str[] = "Austria";

switch (str) {
  case "Italy": 
    // do something
    break;
  case "Austria":
    // do something
    break;
  ...
}

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In C kann ein switch Ausdruck nicht direkt mit Zeichenketten (Strings) angewendet werden. Wenn du Zeichenketten verwenden möchtest, musst in der Regel auf andere Konstrukte wie if-else Anweisungen zurückgreifen und die Strings vergleichen.

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Austria";

    if (strcmp(str, "Italy") == 0) {
        // do something for Italy
    } else if (strcmp(str, "Austria") == 0) {
        // do something for Austria
    } else {
        // default case
    }

    return 0;
}
von