当我运行这个程序时,它会崩溃。 我想将一个字符串从一个字符串复制到另一个字符串。 你能帮助我吗? 例如:我想要" wello"如数组[0]而不是"你好"
int main()
{
int N=3;
char *array[10];
array[10]=malloc(N*sizeof(char));
array[0]="hello";
array[1]="wall";
array[2]="dinner";
array[0][0]=array[1][0];
printf("array[0][0]: %c\n", array[0][0]);
printf("array[0]= %s, array[1]= %s, array[2]= %s", array[0], array[1], array[2]);
return 0;
}
答案 0 :(得分:0)
你在这里遇到了一些问题:
array
只有10个元素,因此没有索引10
。array
的前3个元素的字符串分配空间,因此可能无法修改它们。array
有10个元素?如果你从不使用它,为什么要为11号分配空间呢?答案 1 :(得分:0)
数组中的所有字符指针都没有指向有效的内存位置。您需要为每个指针执行malloc
以在其中存储字符串。
此外,array[10]
超出了您为array
声明的索引(0到9)。