问题描述
我尝试将一个函数添加到一个已经可以工作的代码中。添加我的函数后,代码仍然执行,但是当我选择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
。