【发布时间】:2018-10-26 22:03:17
【问题描述】:
我需要 C 中列表和节点的帮助。我在 .h 文件中将它们定义为结构如下:
typedef struct node{
int value;
struct node*prox;
}node;
typedef Nodo *list;
我不明白为什么删除所有奇数的功能不起作用。该程序正在崩溃。我哪里做错了?
list delete_odd_numbers(list l){
node*temp;
node*current;
node*prev;
if(l->value%2!=0){
temp=l;
l=l->prox;
free(temp);
}else{
prev=NULL;
current=l;
while(current!=NULL){
if(current!=NULL &¤t->value%2!=0){
temp=current;
prev->prox=current->prox;
free(temp);
}else{
prev=current;
current=current->prox;
}
}
}
return l;
}
【问题讨论】:
-
您是否尝试过使用调试器(可能是 gdb 或 lldb)?它可以帮助您找到崩溃的实际线路。