So ändern Sie den Wert der variable als argument übergeben wird?

So ändern Sie den Wert der variable als argument übergeben, in C?
Ich versuchte dies:

void foo(char *foo, int baa){
    if(baa) {
        foo = "ab";
    } else {
        foo = "cb";
    }
}

und rufen:

char *x = "baa";
foo(x, 1);
printf("%s\n", x);

aber es druckt baa warum?
vielen Dank im Voraus.

  • Wenn(baa)? Es ist nicht ein bool-Wert, ist dies legal, in c?
  • Es gibt keinen Boolean-Typen in C. Alle booleschen Logik erfolgt mit int-Werten.
  • falsch. Seit C99 hat die Sprache _Bool als eine primitive Art und bool im "stdbool.h".
InformationsquelleAutor Jack | 2012-02-27
Schreibe einen Kommentar