我正在研究一个C函数来将一串字母分成一个数组,但它会保留seg错误,我不明白为什么。
我已经通过DDD运行了几次,但没有多大帮助。
char* stringToArray(const char *desc)
{
int i = 0;
int j = 0;
char *array[5][10] = {{0}};/*5 words, 10 chars each*/
while (desc[i] != '\0')
{
if (desc[i] != ' ') {
*array[j][i] = desc[i]; /*seg faults here*/
}
else {
j++;
}
i++;
}
return **array;
}
非常感谢任何帮助 感谢。
答案 0 :(得分:1)
您需要使数组静态或为其分配一些内存 - 返回指向本地数组的指针将不起作用。
您也可以查看strtok。