Ho visto che ci sono molti post sugli array di stringhe però nessuno fa al caso mio, dunque ecco il mio problema.
Devo copiare in un array di stringhe , delle stringhe passate in input ; a dirla così sembra facile ma ho qualche problema.
questo è il codice che ho scritto:
immettendo in input le stringhe (in ordine) : "primo", "secondo", "terzo", "quarto", "quinto"codice:#include <stdio.h> main() { int i, j; char str[128]; char *array[128]; for (i=0; i<5; i++) { printf("inserisci stringa\n"); scanf("%s", str); array[i] = str; } for (j=0; j<5; j++) printf("%d\t%s\n", j, array[j]); }
l'output che ottengo è questo:
codice:0 quinto 1 quinto 2 quinto 3 quinto 4 quinto
ho capito che il problema è nella stringa "di appoggio" str , infatti se creo 5 stringhe di appoggio distinte il problema non si verifica e ottengo proprio quello che volevo, cioè:
purtroppo non posso percorrere questa strada, perchè a priori non so quante sono le stringhe da salvare (in quanto è l'utente dell'applicazione che decide quando fermarsi) e quindi non posso creare un numero che non conosco di variabili.codice:0 primo 1 secondo 2 terzo 3 quarto 4 quinto
Come posso risolvere ? Grazie

Rispondi quotando
,