Ho un main con
e il seguente metodo che, da 0 a n-1, fa inserire all'utente le stringhe, poi le duplica con strdup() e le assegna ad un puntatore di puntatore. Infine, restituisce il punt. di punt.codice:char **t; int n printf("Quante stringhe vuoi inserire?"); scanf("%d",&n); t=leggi(n);
(Devo farlo per scuola, quindi devo per forza usare questa sequenza di passi!)
ho aggiunto alla fine la stampa di p[] per vedere se la duplicazione funziona...ma niente da farecodice:char **leggi(int n){ int i; char **p=malloc(n*sizeof(char)); char *s; for(i=0;i<n;i++){ printf("Stringa n. %d: ",i+1); scanf("%s",&s); p[i]=strdup(s); } for(i=0;i<n;i++) printf("%c",p[i]); return p; }Cosa avrò sbagliato? Mi viene da pensare che sia sbagliato il malloc...ma non capisco!!
Grazie![]()

Cosa avrò sbagliato? Mi viene da pensare che sia sbagliato il malloc...ma non capisco!!
Rispondi quotando