【发布时间】:2021-04-14 10:54:15
【问题描述】:
我尝试将一个函数添加到一个已经有效的代码中。添加我的函数后,代码仍然执行,但是当我选择案例 3 时,我得到了错误分段错误(核心转储) 如果我选择案例 3,我会收到分段错误(核心转储)错误
这是我对案例 3 的功能:
typedef struct Note_
{
int data;
struct Note_ *next;
} Note;
Note *head= NULL;
int number= 0;
void deleteNote(int x){
Note *t = head;
Note *prev;
if(t == NULL){
printf("List already empty.\n");
}
while(t != NULL && t->data == x){
head = t->next;
free(t);
t= head;
printf("Note %d deleted.\n", x);
}
while(t != NULL){
while(t != NULL && t->data != x){
prev = t;
t = t->next;
}
prev->next = t->next;
free(t);
t = prev->next;
}
}
【问题讨论】:
-
请一次回答一个问题。如果出现语法错误,则不会出现分段错误。那么真正的问题是什么?
-
不,我现在只得到分段错误。忘记第一个问题
-
那么请编辑问题以仅包含相关信息,包括minimal reproducible example
-
好的,我已经这样做了
-
缺少元素(函数调用的上下文,
Note结构...)
标签: c linked-list singly-linked-list null-pointer function-definition