Qualcuno mi sa dire cosa c'è di sbagliato in questo esercizio? anche se metto che voglio 3 nodi me ne fa mettere e visualizzare 1 senza neanche farmi mettere gli altri.
--------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int i,n,e;
struct nodo{
int valore;
struct nodo *next;
}*head=NULL;
struct nodo *p;
int main() {
printf("quanti numeri vuoi inserire\n");
scanf("%d",&n);
for(i=0;i<n;i++){
p= (struct nodo*)malloc(sizeof(struct nodo));
if(p!=NULL){
printf("che valore vuoi inserire\n");
scanf("%d",&e);
p->valore=e;
p->next=head;
head=p;
}
else
printf("errore");
break;
}
printf("ora visualizzi gli elementi che hai inserito in ordine\n ");
for(i=0;i<n;i++){
printf("elemento numero %d vale %d \n",i,head->valore);
head=head->next;
}
return 0;
}