altro errore:
così non va bene, prima di modificare il carattere devi avanzare nella lista, modificavi anche il carettere di head cosìcodice:for(i=1; s[i] != '\0'; i++){ a->next = malloc(sizeof(struct lista)); a->carattere = s[i]; a = a->next; }
codice:for(i=1; s[i] != '\0'; i++){ a->next = malloc(sizeof(struct lista)); a = a->next; a->carattere = s[i]; }