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?