#include
#define N 3
typedef struct matrix {
int m[N][N];
}matrix;
matrix multiply(matrix A,matrix B,int n) {
int i,j,k;
matrix C;
for(i = 0; i < n; i++) {
for(j = 0; j < n; j++) {
C.m[i][j] = 0;
for(k = 0; k < n; k++) {
C.m[i][j] += A.m[i][k] * B.m[k][j];
}
}
}
return C;
}
void show(matrix a,int n) {
int i,j;
for(i = 0; i < n; ++i) {
for(j = 0; j < n; ++j)
printf("%4d",a.m[i][j]);
printf("\n");
}
}
int main() {
matrix A = {2,0,3,1,3,2,1,1,2};
matrix B = {0,1,2,0,1,3,2,1,1};
matrix C;
int n = 3;
printf("MATRIX A:\n");
show(A,3);
printf("MATRIX B:\n");
show(B,3);
C = multiply(A,B,n);
printf("MATRIX C:\n");
show(C,3);
return 0;
}
应该是这样吧:multiply(A.m, B.m, C.m,n);