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: