ok lasciando stare il tempo.....il problema è che la funzione nn stampa la parola che prende dal vettore che contiene ttt le parole di un file......

questa è la funzione....
void Carica_Parola(FILE *fp)
{ char c,b;
int i=1,t,n,a;
int NUM_RIGHE=1;
fp=fopen("impostazioni.txt","r");
if(fp!=NULL)
{c=getc(fp);
do
{
c=getc(fp);
if(c=='\n')
i++;
if(i==3)
{fscanf(fp,"%s", &nomefile);
}
}while(c!=EOF);
}else{printf("ERRORE nell'apertura del file");}
strcat(nomefile, ".txt");
fp=fopen(nomefile,"r");
if(fp!=NULL)
{b=getc(fp);
do
{
b=getc(fp);

if(b=='\n')
{NUM_RIGHE++;
}

}while(b!=EOF);
}else{printf("ERRORE nell'apertura del file");}

fp=fopen(nomefile,"r");
if(fp!=NULL)
if(a=strcmp("Dizionario",nomefile)==0)
{for(i=0;i<DIM_CAT;i++)
{fscanf(fp,"%s",CATEGORIE[i]);
// CATEGORIE[i] è definito come typedef char stringa[30]; stringa CATEGORIE[DIM_CAT]; e DIM_CAT è definito come costante di 110
n=DIM_CAT;}
}else{
n=30;
for(i=0;i<n;i++)
{fscanf(fp,"%s",CATEGORIE[i]);}}
i=rand()%n;
printf("%d",i);
parola[30]=CATEGORIE[i];
printf("%s",parola);
lung=strlen(parola);
for(i=0;i<lung;i++)
{parola_segreta[lung]="_";}
for(i=0;i<lung;i++)
{printf("%s",parola_segreta[lung]);}
}