El problema es que no entiendo muy bien como funcionaria en forma recursiva.
Código:
Si alguien me puediese ayudar explicando un poco el codigo cuando se ingresa mas de un numero, unos 3 , le agradeceria mucho. #include <stdio.h> #include <stdlib.h> typedef struct lista_enlazada{ int valor; struct lista_enlazada *sgte; }LISTA; LISTA* insertar(LISTA* head,int valor); int main(){ LISTA* head=NULL; int i,valor,n; printf("Ingrese la cantidad de valores a ingresar\n"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("Ingrese valor %d\n",i); scanf("%d",&valor); head=insertar(head,valor); /*Aqui le asignamos a head lo que devuelte la funcion, que es un tipo de dato lista.*/ } return 0; } /*Aqui es donde no se muy bien como hacerle el seguimiento a la función, es decir el camino que toma cuando ingreso mas de 1 numero*/ LISTA* insertar(LISTA* head,int valor){ if(head==NULL){ head=(LISTA*)malloc(sizeof(LISTA)); head->valor=valor; head->sgte=NULL; } else{ head->sgte=insertar(head->sgte,valor); return head; } }