Salve, sto cercando di fare un programma che deve creare una tabella, prendendo le dimensioni da file, avrei un problema con la stampa di un numero letto precedentemente da file e messo in un dato strutturato ,in C , quando vado a fare il printf del numero controllare, mi esce una serie di numeri diversi, e non capisco dove sto sbagliando: 
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
typedef struct
{
	int righe;
	int colonne;
}impostazioni;
impostazioni LeggereFile();
impostazioni ScrivereRighe();
impostazioni ScrivereColonne();
int main()
{int VettImp[5];
 int Righe; //righedefault
 int Colonne; //colonneDefault
 impostazioni impD;
 impD = LeggereFile(VettImp);
	Righe = 0;
	Colonne = 0;
	Righe = LeggereRighe(impD);
	Colonne = LeggereColonne(impD);
	ScrivereRighe( impD, VettImp[0]);
	printf("%d\n",Righe);
	printf("%d\n",Colonne);
	system("PAUSE");
	return  0;
}
impostazioni LeggereFile(int *VettImp)
{FILE *ImpostazioniDefault;
 impostazioni impD;
 char i;
 int j;
	j = 0;
	ImpostazioniDefault = fopen("C:\\Users\\LUKET&NICO\\Desktop\\file.txt", "r");
	while(i!=EOF)
	{
		i = fgetc(ImpostazioniDefault);
		VettImp[j] = i;
		printf("%d", VettImp[j]);
		j = j +1;
	}
	fclose(ImpostazioniDefault);
	return impD;
}
impostazioni ScrivereRighe(impostazioni impD, int VettImp)
{
	impD.righe = VettImp;
	return impD;
}
impostazioni ScrivereColonne(impostazioni impD, int VettImp)
{
	impD.colonne = VettImp;
	return impD;
}
int LeggereRighe(impostazioni impD)
{
	int Righe;
	Righe = impD.righe;
	return Righe;
}
int LeggereColonne(impostazioni impD)
{
	int Colonne;
	Colonne = impD.colonne;
	return Colonne;
}