这是我的问题...我创建了一个这样的字符串数组..
char *name[12];
然后用户键入 12 个不同的名称,以便我可以将它们保存在该数组中。但众所周知,如果你不初始化一个变量,它就会有“垃圾”。所以我开始正确保存名字,直到第 5 个名字,然后它崩溃了,我不知道为什么。所以我尝试初始化每个元素,但它不允许我更改内容。
这是我写入数组每个元素的方式:
printf("Type your name: ");
fflush(stdin);
gets( name[0] ); //I use a for to move into every element
我想知道是否有任何方法可以初始化数组,然后更改它的内容。我试过 strcpy();但我有同样的错误。或者如何删除该“垃圾”以阻止它导致我出错。
谢谢,如果我有任何拼写错误,请见谅。英语不是我的母语。
最佳答案
您已经为 12 个指针分配了空间;您从未为 12 个字符串分配空间,更不用说将指向该空间的指针分配给数组中的指针了。
关于c - 在 C 中修改字符串数组中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462491/