2016-11-25 2 views
-3

Ich möchte ein paar Wörter scannen und sie in ein String-Array einfügen und dann ausdrucken. Aber alles, was ich habe ist einige Speicher Müll ...Ich möchte einige Wörter scannen und sie in ein String-Array einfügen und dann ausdrucken.

char arrayOfWords[50][50]; 
char array2[50][50]; 

int i; 
for (i=0; i<5; i++) 
{ 
    scanf ("%s" , arrayOfWords[i]); 
    array2[i][50] = arrayOfWords[i]; 

} 

for (i=0; i<5; i++) 
{ 
    printf ("%s\n" , array2[i]); 
} 

return 0; 
+1

Warum 2-dimensionale Array? Sie brauchen nur ein einziges Char Array, das groß genug ist, um es zu puffern. –

Antwort

1

Sie können nicht einfach kopieren Strings mit dem Zuweisungsoperator (=).

Wechsel:

array2[i][50] = arrayOfWords[i]; 

zu:

strcpy(array2[i], arrayOfWords[i]); 
1

Das erste, was ich hier zu sehen ist:

array2[i][50] = arrayOfWords[i]; 

es ist keine Art und Weise Zeichen-Arrays in c zu kopieren. Verwenden Sie memcpy() oder strcpy() oder ähnliches, um das erwartete Ergebnis zu erzielen. z. B.

strcpy(array2[i], arrayOfWords[i]); 
Verwandte Themen