Ciao,
beccato l'errore!
Era nella funzione printListI. La versione corretta è questa:
codice:void printListI(struct numero *p) { struct numero *t = p; for(; t!=NULL; t = t->next) { printf("%3d DIVISORI nell'intervallo [2,10]: ", t->n); printListD(t->lista_divisori); printf("\n"); } }
Invece tu avevi scritto
codice:printListD(p->lista_divisori);
cioè una "p" al posto di una "t".
![]()