在C语言中,如何将一个数组的数据传递到另一个数组中?

在C语言中,如何将一个数组的数据传递到另一个数组中?,c,arrays,multidimensional-array,C,Arrays,Multidimensional Array,我正在尝试创建一个程序,用户可以在其中加载带有字符串的数组,然后需要将位置为2和3的倍数的字符串添加到新数组中。我不知道怎么做,因为我不能分配数组。这就是我到目前为止所做的: #include <stdio.h> int main() { int i; char strings[5][256]; for (i=0; i<5; i++){ scanf("%s", strings[i]); } char strings2[5][

我正在尝试创建一个程序,用户可以在其中加载带有字符串的数组,然后需要将位置为2和3的倍数的字符串添加到新数组中。我不知道怎么做,因为我不能分配数组。这就是我到目前为止所做的:

#include <stdio.h> 

int main() 
{
    int i;
    char strings[5][256];
    for (i=0; i<5; i++){
    scanf("%s", strings[i]);
    }
    char strings2[5][256];
    int k = 0;
    {
    for (i=0; i<5; i++)}
        if ((i % 2 == 0) && (i % 3 == 0))
        {

            //Here's where I would do strings2[k] = strings[i] if it were possible
        k=+1;
        }
    }   
}
#包括
int main()
{
int i;
字符串[5][256];
对于(i=0;i
strcpy(strings2[k],strings[i]);

应该可以带你去那里


你可以使用
string.h
函数吗?为什么你的数组是字符串?你不能对字符串执行数学运算,所以你必须将它们转换成整数。你还要检查i是2的倍数还是3的倍数,而不是i的索引。@Nina:这个问题不需要任何数学运算。那么我不理解这个问题很有可能。不要使用
k=+1
。使用
k+=1
,或者
k++
k=+1
相当于
k=1
,这不是你想要的。我甚至不知道你是如何理解代码和这个问题的…@nina:
//我会在这里做strings2[k]=strings[I]如果可能的话
这似乎是可行的,但当我尝试打印strings2中的元素时,它们看起来像是奇怪的字符而不是字母。也许我可以编辑帖子以准确显示我添加的内容。你的新字符串(你复制的字符串)是否以null结尾?我如何检查?
if ((i % 2 == 0) && (i % 3 == 0))
        {
        strcpy(strings2[k], strings[i]);
        k=+1;
        }
        for (i=0; i<5; i++){
         printf("%s\n",strings2[i]);
        }