【发布时间】:2016-09-05 20:00:04
【问题描述】:
int main(void)
{
const char* line = "This isn't working";
char* str[10];
int index = 0;
for(int i = 0; i < 10; i++)
{
int j = 0;
str[i] = malloc(10 * sizeof(char));
while(line[index] != ' ')
{
str[i][j] = line[index];
j++;
index++;
}
index++;
if(index == strlen(line) - 1)
break;
}
for(int i = 0; i < 10; i++)
{
printf("%s\n", str[i]);
}
}
我正在尝试创建一个字符串数组,我想在其中存储变量“line”中的单词。但是我写的代码给出了“分段错误”请帮忙
【问题讨论】:
-
您没有以空值终止您的字符串。
-
...您也没有进行循环限制以确保您的字符附加不会超出您希望获得的未经检查的分配空间。
标签: c arrays string segmentation-fault