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:
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]);
}
immettendo in input le stringhe (in ordine) : "primo", "secondo", "terzo", "quarto", "quinto"
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è:
codice:
0 primo
1 secondo
2 terzo
3 quarto
4 quinto
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.
Come posso risolvere ? Grazie