开发者社区> 问答> 正文

ac程序遇到麻烦,该程序将字符串分成几段。句子和单词

该程序需要从用户那里获取输入文本和选项。在此阶段,我目前正在使用ap:选项,该选项从用户读取文本并将相应的数据附加到相应的数组。(此外,我还必须输入带有选项作为前缀的文本,例如ap:Text,因为这是测试我的程序的机器人输入它的方式。)

这是代码:https : //gist.github.com/Kritsos/03d08f29beb97d24eba1cbc4e83962ab

我知道要遵循它有点困难,因此我将尽我所能更好地解释它。首先,我知道内存泄漏很多,一旦使这三个功能正常工作,我就会倾向于使用它们。我试图动态分配几乎所有内容(这就是为什么我使用三重指针的原因),我希望分配是正确的,而不是造成问题的原因。par函数应该从输入文本中获取一个段落,这很容易,因为输入文本本身就是一个段落,因此我只将文本复制到段落数组中。现在,send和word函数是我遇到的问题。两者都基于相同的逻辑。我从用户那里获取输入文本,我尝试找到结尾字符(“。!?;”代表句子“”代表单词),在其中放置“ \ 0”,

展开
收起
几许相思几点泪 2019-12-29 20:36:27 2589 0
1 条回答
写回答
取消 提交回答
  • 您的代码中包含许多错误,导致当前崩溃的关键代码是第8、32和59行。

    **paragraphs = realloc(**paragraphs, *num_par * sizeof(char *));
    
    

    您正在对从来没有分配过的指针调用realloc。

    这里的课程不是“小心指针”或类似的东西,尽管显然您应该这样做。教训是,大量的间接推理变得难以推理。与其尝试使三星级解决方案起作用,不如探索一种不需要这种代码体操的不同方法。

    2019-12-29 20:36:41
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载