You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C90程序触发Aborted (core dumped)错误求排查(新手求助)

C90程序使用realloc构建集合触发Aborted (core dumped)错误排查

问题概述

我是C语言新手,编写C90程序实现以下功能:读取用户输入的整数列表(输入以EOF结束),用realloc构建集合并按整数首次出现顺序输出唯一值(去重)。已完成my_set.h与my_set.c代码,包含get_set、print_set等函数,但程序在输入8个字符后触发Aborted (core dumped)错误,请求排查问题。

常见错误原因及排查点

  • realloc使用失误:
    • 未检查realloc返回值:分配失败返回NULL时,直接覆盖原指针会丢失内存地址,后续访问触发错误。
    • 初始指针未正确初始化:若初始指针为非NULL的垃圾值,调用realloc会导致未定义行为。
    • 扩容大小计算错误:比如按字符数而非整数个数计算内存,导致空间不足。
  • 数组越界访问:检查整数是否存在于集合时,超出当前数组长度访问内存,触发非法内存访问。
  • 输入处理错误:读取整数时格式处理不当(比如用错误的scanf格式符),或未处理非整数输入,破坏堆结构。
  • 指针/内存操作错误:提前释放内存、重复释放或野指针操作,导致内存访问异常。

需要补充的信息

请提供以下内容以便精准定位问题:

  • my_set.h和my_set.c的完整代码
  • 触发错误的具体输入内容
  • 若有gdb调试的堆栈回溯信息,也可附上

内容的提问来源于stack exchange,提问作者SosoMath_TryingMyBest.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:02:22