添加此功能时出现分段错误核心转储

问题描述

我尝试将一个函数添加一个已经可以工作的代码中。添加我的函数后,代码仍然执行,但是当我选择case 3时,我得到了错误分段错误(core dumped) 如果我选择案例 3,我会收到分段错误(核心转储)错误

这是我对案例 3 的功能

[].a?.b.c.d

解决方法

在这个代码片段中

        prev->next = t->next;
        free(t);
        t = prev->next;

指针t可以在前面的while循环之后等于NULL

    while(t != NULL && t->data != x)
    {
        prev = t;
        t = t->next;
    }

所以使用空指针来访问内存,就像在这个语句中一样

         prev->next = t->next;

调用未定义的行为。

您需要检查while循环后指针t是否不等于NULL