Seltsame Ausgabe beim drucken ist ein char-pointer-array in C


im moment versuche ich einige Zeiger Zeug in C. Aber jetzt habe ich ein problem mit einem Zeiger-array. Durch die Verwendung von meinem code unten bekomme ich eine seltsame Ausgabe. Ich denke, es ist ein großer Fehler im code, aber ich kann es nicht finden.

Will ich nur drucken die Saiten des Zeiger-Arrays.

#include <stdio.h>


int main(void)
{
    char *words[] = {"word1", "word2", "word3"};
    char *ptr;
    int i = 0;

    ptr = words[0];

    while(*ptr != '\0')
    {
        printf("%s", *(words+i));
        ptr++;
        i++;
    }

    return 0;
}

Ausgabe: word1word2word3Hã}Hɡ

Danke für die Hilfe.

  • Was denken Sie, dies ist zu tun printf("%s", *(words+i)); ? Was bist du eigentlich machen willst?
  • Ich denke *(Worte) gibt mir den ersten Wert aus meinem array. So versuche ich zu gehen, von index 0 bis index 2.
InformationsquelleAutor eljobso | 2012-11-22
Schreibe einen Kommentar