结果有问题,感觉是数组定义错了,请问应该如何修正?
程序代码:
#include<stdio.h>
int main(void)
{
int a[100][100]={0}, b[100][100]={0}, c[100][100]={0};
int i, j, t, m1, m2, n1, n2;
printf("请自定义第一个矩阵阶数:\n");
scanf("%d%d",&m1,&n1);
printf("请自定义第二个矩阵阶数:\n");
scanf("%d%d",&m2,&n2);
if(n1!=m2)
{
system("pause");
printf("无法求矩阵之积!\n");
return(1);
}
printf("输入第一个矩阵:\n");
for(i=0;i<m1;i++)
{
for(j=0;j<n1;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("輸入第二個矩陣:\n");
for(i=0;i<m2;i++)
{
for(j=0;j<n2;j++)
{
scanf("%d",&b[i][j]);
}
}
for(i=0;i<m1;i++)
{
for(j=0;j<n2;j++)
{
for(t=0;t<n1;t++)
{
c[i][j]+=a[i][t]*b[t][j];
}
}
}
printf("矩阵之积:\n");
for(i=0;i<m1;i++)
{
for(j=0;j<n2;j++)
{
printf("%d ",&c[i][j]);
}
}
return(0);
}