Ciao a tutti,
devo inserire n elementi in una lista, chiedere due indici e stampare gli elementi nella i-esima posizione.
Dopo aver chiesto il primo indice viene questo errore:
Qualcuno che riesce a trovare l'errore?
Grazie in anticipo!!!
devo inserire n elementi in una lista, chiedere due indici e stampare gli elementi nella i-esima posizione.
C:
#include <stdlib.h>
#include <stdio.h>
typedef struct nodo_{
int num;
struct nodo_ *next;
}nodo_t;
nodo_t* inserisciInCoda(nodo_t * l, int num);
int main(){
int n, num, i, indice;
nodo_t* ciao=NULL;
nodo_t* testa=NULL;
printf("inserire numeri da inserire: ");
scanf("%d", &n);
for(i=0; i<n; i++){
scanf("%d", &num);
inserisciInCoda(ciao, num);
}
printf("inserire indice: ");
scanf("%d", &indice);
for(i=0; i<indice; i++)
ciao->next;
printf("%d\n", ciao->num);
printf("inserire secondo indice: ");
scanf("%d", &indice);
for(i=0; i<indice; i++)
ciao->next;
printf("%d\n", ciao->num);
}
nodo_t* inserisciInCoda(nodo_t * l, int num){
nodo_t *tmp, *prec;
tmp = malloc(sizeof(nodo_t));
if(tmp != NULL){
tmp->num = num;
tmp->next = NULL;
if(l == NULL)
l = tmp;
else{
for(prec=l; prec->next!=NULL; prec=prec->next);
prec->next = tmp;
}
} else
printf("Mem. esaurita!\n");
return l;
}
Codice:
Segmentation fault (core dumped)
Grazie in anticipo!!!