Se il compilatore è furbo e trova che curr è uguale a NULL salta direttamente alla prossima istruzione fuori dall' if, non è quello il problema.Originariamente inviato da oregon
Non ho provato tutto il codice ma in questa linea
while((curr!=NULL) && greater(inf,curr->info))
quando curr è uguale a NULL, curr->info ti darà un errore ... no ?
Il problema credo sia molto prima:
La node_insert prevede il caso in cui il primo parametro passato sia NULL?codice:int main() { t_info inf; t_list lista=NULL; // lista è uguale a NULL int scelta=1; while(scelta!=0) { inf=read_info(); lista=node_insert(lista,inf); // cosa fa la node_insert? printf("Vuoi inserire un'altro nominativo? 1/0 \n"); scanf("%d",&scelta); } print_list(lista); printf("Quale nominativo vuoi cancellare?\n"); inf=read_info(); lista=node_delete(lista,inf); print_list(lista); return EXIT_SUCCESS; }

Rispondi quotando