Data una struttura Lista del tipo
codice:
typedef struct elem{
int info;
struct elem *next;
}elem;
typedef elem *Lista;
Ho scritto una funzione che avrebbe il compito di eliminare gli elementi dispari di un Lista(necessariamente ricorsiva):
codice:
Lista eliminaDispari(Lista lst){
if (lst==NULL)return NULL;
if(lst->info%2==0)return lst->next=eliminaDispari(lst->next);
return eliminaDispari(lst->next);
}
Sono pressoche convinto del funzionamento corretto di tale funzione ma quando
eseguo il codice:
codice:
Lista lst;
//inizializzo lst
Lista lst2=eliminaDispari(lst);
printf("%d ->",lst2->info);
il programma va in crash perchè lst2 punta a NULL, come posso fare per far si che la lista ritornata punti al primo elemento?