Ciao a tutti sto cercando di creare e visualizzare due liste il problema solo che il codice che ho sviluppato stampa solo il primo elemento delle due liste e poi dei numeri tipo 9713624 posto il codice
codice:
#include <stdio.h>
#include <malloc.h>
struct elemento{
       int val;
       struct elemento *succ;
       };
struct elemento *crealista();
void visualizza(struct elemento *);
main()
{
      struct elemento *puntlista1,*puntlista2;
      printf("Inserisci la prima lista:\n\n");
      puntlista1=crealista();
      printf("\nInserisci la seconda lista:\n\n");
      puntlista2=crealista();
      printf("\nVisualizzazione prima lista: \n\n");
      visualizza(puntlista1);
      printf("\nVisualizzazione seconda lista: \n\n");
      visualizza(puntlista2);
      printf("\nPremi invio per uscire...");
      getchar();
      getchar();
}

struct elemento *crealista()
{
       int i,n;
       struct elemento *primo,*corpo;
       printf("Quanti valori vuoi inserire?: ");
       scanf("%d",&n);
       primo=(struct elemento *)malloc(sizeof(struct elemento));
       printf("Inserisci il 1%c valore: ",248);
       scanf("%d",&primo->val);
       corpo=primo;
       for(i=2;i<=n;i++){
                         corpo->succ=(struct elemento *)malloc(sizeof(struct elemento));
                         corpo=corpo->succ;
                         printf("Inserisci il %d%c valore: ",i,248);
                         scanf("%d",&corpo->succ);
                         }
                         corpo->succ=NULL;
       return(primo);
}

void visualizza(struct elemento *p)
{
     while(p!=NULL){
                    printf("%d --->",p->val);
                    p=p->succ;
                    }
                    printf("NULL\n\n");
}
Esempio:
inserisco la lunghezza della prima lista : 3
inserisco gli elementi 5 , 4 , 2
inserisco la lunghezza della seconda lista: 4
inserisco gli elementi: 1 , 3 , 6 , 8
Stampa questo:
Prima lista: 5---> 9713624---> 9713624---> NULL
Seconda lista: 1---> 9713624---> 9713624---> 9713624--->NULL

Come posso fare per risolvere il problema??
Grazie per l'aiuto.