在C语言中,如何将一个数组的数据传递到另一个数组中?
我正在尝试创建一个程序,用户可以在其中加载带有字符串的数组,然后需要将位置为2和3的倍数的字符串添加到新数组中。我不知道怎么做,因为我不能分配数组。这就是我到目前为止所做的:在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][
#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;istrcpy(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]);
}