c - 我想扫描一些单词,并将它们放入字符串数组中,然后打印它。

标签 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;

最佳答案

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

更改:

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

至:

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

关于c - 我想扫描一些单词,并将它们放入字符串数组中,然后打印它。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40813086/

相关文章:

c - 使用 'typedef' 的正确方法是什么?

c - 我错误地使用了 close() 吗?

c - 如何使C程序运行得更快?

c - 为什么静态和动态变量在 c 初始化期间不能分配

c++ - C 或 C++ 中的边界检查是否昂贵?

c - 使用 fgets 时哈希与 sha1sum 不同

c - SPI写STM32很慢

c - 成员数多于其大小的位域 union 的大小

c - DLL 内部和外部的函数指针值

r - R包中的C函数-函数结束时Rsession中止