thanks a lot i got it to work, i deleted some unnecessary stuff rearranged some lines to make more sense.
#include <stdio.h>
void MatrixMult(int x[][50], int y[][50], int z[][50], int *n);
int main(int argc, char *argv[]){
FILE *fin = fopen(argv[1], "r");
int i, j, n, a[50][50], b[50][50], c[50][50];
fscanf( fin, "%d", &n );
printf("\n\nFirst Matrix:\n");
for(i = 0; i < n; i++){
for(j = 0; j < n; j++){
fscanf( fin, "%d", &a[i][j] );
printf( " %d", a[i][j] );
}
printf("\n");
}
printf("\n\nSecond Matrix:\n");
for(i = 0; i < n; i++){
for(j = 0; j < n; j++){
fscanf( fin, "%d", &b[i][j] );
printf( " %d", b[i][j] );
c[i][j] = 0;
}
printf("\n");
}
MatrixMult( a, b, c, &n );
printf("\n\nProduct of the two Matrices:\n");
for(i = 0; i < n; i++){
for(j = 0; j < n; j++) printf( " %d", c[i][j] );
printf("\n");
}
return(0);
}
void MatrixMult(int x[][50], int y[][50], int z[][50], int *n ){
int i, j, k;
for(i = 0; i < *n; i++)
for(j = 0; j < *n; j++)
for(k = 0; k < *n; k++)
z[i][j] += x[i][k] * y[k][j];
}