Мне нужна помощь для списка и узлов в C. Я определил их как struct, как показано в файле .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;
}