Salve a tutti, ho un problema con l'inserimento di un nuovo nodo in coda ad una lista.
Una volta lanciato, appena inserisco il valore, il programma non risponde più, ed esce il classico messaggio "l'applicazione ha smesso di funzionare".
Ho isolato la funzione dal programma principale, ad un nuovo codice, ma la storia è la stessa.
Spero possiate darmi una mano voi. Questo è il codice:
Grazie a tutti in anticipo.codice:#include <stdio.h> #include <stdlib.h> struct nodo { /* dichiarazione struttura nodo */ int dato; // campo dell'informazione struct nodo *next; // campo dell'indirizzo del nodo successivo }; nodo *head; // dichiarazione del nodo di testa int n; // dato da inserire nodo *nuovo; // nuovo nodo nodo *p; // puntatore indice int main() { head = NULL; // creazione della lista printf ("\n Nuovo inserimento: "); scanf ("%d", &n); // leggi numero da inserire nuovo = (nodo*)malloc(sizeof(struct nodo)); //alloca nuovo nodo nuovo->dato = n; // inserisci N in nodo.dato nuovo->next = NULL; // NUOVO punta a NULL. p=head; // P punta al nodo di testa while (p != NULL) // finché la lista non è finita { p = p->next; } // P punta la nodo successivo p->next = nuovo; // l'ultimo nodo punta a NUOVO system("pause"); return 0; }

Rispondi quotando