Innanzitutto grazie per le rispo,
ho pero voluto sviscerare il problema ancora un po debuggando e ho notato queste cose:
parola[0]="pippo";
parola[1]="mario";
parola[2]="luigi";
parola[3]="Ercole";
dopo la sequenza di queste quattro istruzioni, nelle locazioni parola[0], parola[1] etc ci sono quattro indirizzi diversi, la cosa mi piace perke appunto vuol dire ke puntano a 4 stringhe differenti...ora dopo queste istruzioni ho provato a mettere questa
for(i=0;i<4;i++)
{
gets(stringa);
parola[i]=stringa;
}
(qui faccio un inciso per Mitaly: non incazzarti se ho messo ancora gets, il tuo consiglio lo seguo solo che ora volevo appunto sviscerare un po la cosa)
ebbene ho visto il valore dei puntatori in parola[i] e ho notato questa cosa:
dopo la prima gets(stringa) parola[0] assume un valore...e mi puo andar bene....dopo la seconda gets, e quindi con i=1, in parola[1] viene scritto riscritto il valore del puntatore che ce in parola[0]!!!!!!!!!!!!!!!!!!!!!!!!! cosi alla fine del ciclo, avendo immesso quattro nomi diversi, mi ritrovo nel vettore di puntatori tutte e quattro le caselle che puntano all ultimo nome immesso!!!! E in ogni casella parola[i] ce l indirizzo scritto dopo la prima gets(stringa)!!!
Ma come mai succede cio? come mai viene riscritto in tutte le caselle di parola[i] sempre lo stesso indirizzo relativo alla prima chiamata di gets?
:master:![]()