我想扫描一些单词,并将它们放在一个字符串数组中,然后打印出来。

时间:2016-11-25 22:44:33

标签: c

我想扫描一些单词,并将它们放在一个字符串数组中,然后打印出来。但我得到的只是一些记忆垃圾......

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;

2 个答案:

答案 0 :(得分:1)

您不能使用赋值运算符(=)复制字符串。

变化:

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

为:

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

答案 1 :(得分:1)

我在这里看到的第一件事是:

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

它不是一种在c中复制字符数组的方法。 使用memcpy()strcpy()或类似内容来达到预期效果。 e.g:

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