该程序需要从用户那里获取输入文本和选项。在此阶段,我目前正在使用ap:选项,该选项从用户读取文本并将相应的数据附加到相应的数组。(此外,我还必须输入带有选项作为前缀的文本,例如ap:Text,因为这是测试我的程序的机器人输入它的方式。)
这是代码:https : //gist.github.com/Kritsos/03d08f29beb97d24eba1cbc4e83962ab
我知道要遵循它有点困难,因此我将尽我所能更好地解释它。首先,我知道内存泄漏很多,一旦使这三个功能正常工作,我就会倾向于使用它们。我试图动态分配几乎所有内容(这就是为什么我使用三重指针的原因),我希望分配是正确的,而不是造成问题的原因。par函数应该从输入文本中获取一个段落,这很容易,因为输入文本本身就是一个段落,因此我只将文本复制到段落数组中。现在,send和word函数是我遇到的问题。两者都基于相同的逻辑。我从用户那里获取输入文本,我尝试找到结尾字符(“。!?;”代表句子“”代表单词),在其中放置“ \ 0”,
您的代码中包含许多错误,导致当前崩溃的关键代码是第8、32和59行。
**paragraphs = realloc(**paragraphs, *num_par * sizeof(char *));
您正在对从来没有分配过的指针调用realloc。
这里的课程不是“小心指针”或类似的东西,尽管显然您应该这样做。教训是,大量的间接推理变得难以推理。与其尝试使三星级解决方案起作用,不如探索一种不需要这种代码体操的不同方法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。