Frage zur Übergabe eines char-Arrays



  • Hallo,

    habe zu folgendem Quelltext ein kleines Verständnisproblem:

    #include <stdio.h>
    
    void test(char *a[]);
    
    int main(int argc, char *argv[])
    {
       char *array[2];
       printf("%s %s\n", argv[1], argv[2]);
    
       array[0] = argv[1];
       array[1] = argv[2];
    
       test(array);
    
    }
    void test(char *a[])
    {
       printf("%c %c\n", *a[0], *a[1]);
    
    }
    

    Die Ausgabe ist dann:

    Aufruf: ./a.out eins zwei
    Ausgabe printf #1: eins zwei
    Ausgabe printf #2: e z
    

    Mir ist bewusst, dass dem so richtig ist, aber wie bekomme ich eine Ausgabe der gesamten Zeichenkette hin? Ist die Übergabe des char-Arrays so überhaupt korrekt und sinnvoll?



  • %s und als parameter den string und nicht nur ein zeihen



  • momomo schrieb:

    %s und als parameter den string und nicht nur ein zeihen

    Ahhh, ich bin so saublöd. Auf sowas muss man doch selbst kommen. Danke


Anmelden zum Antworten