#include
int main()
{
int a[3][3],b[3][3],i,j,k;
int c[3][3]= {{0}};//初始化要两层花括号
for(i=0; i<3; i++)
for(k=0; k<3; k++)
scanf("%d",&a[i][k]);
for(k=0; k<3; k++)
for(j=0; j<3; j++)
scanf("%d",&b[k][j]);//把a改成b
for(i=0; i<3; i++)
for(j=0; j<3; j++)
for(k=0; k<3; k++)
c[i][j]+=a[i][k]*b[k][j];
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
printf("%d ",c[i][j]);
}
printf("\n");
}
return 0;
}
//楼主你有一个致命错误是将第二个矩阵的读入用了a输入读入,导致了两个矩阵都都到a里面去了,还有对于while(scanf("%d",&a[0][0]) == 1),scanf函数的返回值就是成功读入的变量的个数,scanf("%d",&a[0][0])==1,就是读入一个数据到a[0][0],并且看看是不是成功读入了一个值,然后外加一层while循环,就是只要一直能成功读入值到a[0][0]的意思。
矩阵a重复赋值了,你想要怎么对。
我看了下,程序其他地方是没什么问题的。
你的矩阵A输入了两次,矩阵B没赋值,所以错了