我想在二维指针数组中存储句子列表。下面的代码给出了循环evlauted刚过分段错误(我查了printf语句;循环内不含语句执行):使用fgets时的分段错误()
int main(int argc, char** argv){
char *inputarray[MAX_LINE];
int count = 0;
//char cpy[MAX_LENGTH] <---- This one doesn't work either
char *cpy = (char*) calloc (MAX_LENGTH, sizeof(char));
while (count <= MAX_LINE && fgets(cpy, MAX_LENGTH, stdin)){
int str_len = strlen(cpy);
cpy[--str_len] = '\0';
inputarray[count++] = reverse(cpy, str_len);
}
printOutput(inputarray, count);
return 0;
}
一直试图调试为3小时以上现在没有用。帮助任何人?
什么是MAX_LENGTH?你在为此付出什么?你能显示输入的第一个MAX_LENGTH + 1个字符吗? – Kalle
[mcve]是必需的。 –
你能展示什么是逆向功能吗?其他一些注意事项:1)不要投入calloc的返回(使用c时)。它可以掩盖重要的警告,并且没有必要2)fgets将已经null结束字符串,但它看起来像是截断了输入的最后一个字符,这是故意的吗? –