求助!问题出在哪?
5.6 实现一个函数, 传入一个矩阵, 输出该矩阵乘以该矩阵转置的结果输入:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
输出:
30 70 110 150
70 174 278 382
110 278 446 614
150 382 614 846
程序代码:#include<stdio.h>
int n,m;
int main()
{
int i,j;
printf("请输入矩阵的行数n与列数m:");
scanf("%d%d",&n,&m);
int x[n][m];
printf("请输入整数矩阵");
for(i=0;i<=n-1;i++)
{for(j=0;j<=m-1;j++)
{scanf("%d",&x[i][j]);}
}
void y(int x[n][m]);
y(x);
return 0;
}
void y(int x[n][m])
{int i,j,k;
int z[n][n];
z[0][0]=0;
for(i=0;i<=n-1;i++)
{
for(j=0;j<=n-1;j++)
{
for(k=0;k<=m-1;k++)
{z[i][j]=z[i][j]+x[i][k]*x[j][k];}
}
}
for(i=0;i<=n-1;i++)
{
for(j=0;j<=n-1;j++)
{printf("%40d",z[i][j]);}
printf("\n");}
}
结果却出现一些莫明奇妙的数,为什么?









