Salve ragà,
ho un problema nella funzione "inserisci" ottengo come output simboli senza senso anzichè la stringa che ho inserito, tuttavia se inserisco il contenuto della funzione direttamente nel main funziona perfettamente, quindi penso sia un problema nel passaggio della stringa come parametro della funzione... help please!
codice:
typedef struct NodoLista{
char *val;
struct entry *next;
}t_lista;
void inserisci(t_lista *testa, char *stringa);
void stampa(t_lista *testa);
int main(int argc, char *argv[]) {
t_lista s1,s2,s3,*testa;
s1.val = "cane";
s2.val = "gatto";
s3.val = "topo";
s1.next = &s2;
s2.next = &s3;
s3.next = NULL ;
testa = &s1;
char stringa[100];
printf("\nInserisci stringa: ");
scanf("%s", stringa);
inserisci(testa,stringa);
stampa(testa);
return 0;
}
void inserisci(t_lista *testa, char *stringa){
t_lista NewNode,*indice;
NewNode.val = stringa;
NewNode.next = NULL;
indice = testa;
while(indice->next != NULL){
indice = indice->next;
}
indice->next = &NewNode;
}
void stampa(t_lista *testa){
t_lista *indice;
indice = testa;
while(indice != NULL){
printf("\n%s",indice->val);
indice = indice->next;
}
}