nuovo->next=lista; così a occhio credo non serva.
Già in creaelemento() lo fai puntare a null.

volendo comunque puoi passare alla funzione l'indirizzo di memoria del puntatore (un puntatore a puntatore) e invece di far ritornare un puntatore alla funzione creaelemento, modifichi l'indirizzo a cui punta direttamente nella funzione. alla fine della fiera comunque non cambia nulla.

Originariamente inviato da donato.sciarra

Mettiamo che devo costruire un programma che chiede a terminale dei valori e gli inserisce uno per uno nella lista fin quando l'utente non digitata lo zero (banale se fosse un vettore).
Io nn conosco quanti elementi l'utente tenterà di inserire!
Come posso gestire questo caso?
usi un ciclo while...