【发布时间】:2019-11-07 01:31:13
【问题描述】:
我正在尝试创建一个程序,用户可以在其中加载带有字符串的数组,然后需要将位置为 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;
}
}
}
我能做什么? 编辑:我添加了这些行:
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]);
}
现在的问题是打印随机符号而不是字母。
【问题讨论】:
-
你可以使用
string.h函数吗? -
为什么你的数组是字符串呢?您不能对字符串执行数学运算,因此您必须将它们转换为整数。此外,您正在检查 i 是 2 还是 3 的倍数,而不是 i 的索引。
-
@Nina:这个问题不需要任何数学。
-
那我很可能没看懂这个问题。
-
不要使用
k=+1。使用k += 1或k++。k=+1等价于k = 1,这不是你想要的。
标签: c arrays multidimensional-array