【发布时间】:2017-10-28 05:14:00
【问题描述】:
我正在尝试从单链表中删除第一次出现的值。但是,这会在调用时产生分段错误。
typedef struct Node *node;
struct Node
{
int data;
node next;
};
node delete_node(int value, node l) {
if (l == NULL){
return NULL;
}
if (l->data == value) {
node temp;
temp = l->next;
free(l);
return temp;
}
l->next = delete_node(value, l->next);
return l;
}
【问题讨论】:
-
这甚至不应该编译(你缺少一个分号)。
-
请添加与创建列表相关的部分和本次调用部分的代码。
-
你混淆了价值和数据,对吧?
标签: c pointers linked-list singly-linked-list