C语言用指针实现矩阵相乘

调用函数实现矩阵(自定义的矩阵)相乘(带指针)

#include<stdio.h>
#include<stdlib.h>
#define M 100

int main(void)
{
    int i,j,k,matrix1[M][M],matrix2[M][M],row1,col1,row2,col2,matrix[M][M];
    /*为需要相乘的两个矩阵赋值:*/
    printf("输入第一个矩阵的行数和列数:");
    scanf("%d%d",&row1,&col1);
    printf("输入第一个矩阵:\n");
    for(i=0;i<row1;i++){
        for(j=0;j<col1;j++){
            scanf("%d",&matrix1[i][j]);
        }
    }
    printf("输入第二个矩阵的行数和列数:");
    scanf("%d%d",&row2,&col2);
    printf("输入第二个矩阵:\n");
    for(i=0;i<row2;i++){
        for(j=0;j<col2;j++){
            scanf("%d",&matrix2[i][j]);
        }
    }
    /*初始化matrix:*/
    for(i=0;i<row1;i++){
        for(j=0;j<col2;j++){
            matrix[i][j]=0;
        }
    }

    if(col1!=row2){
        fprintf(stderr,"enput error!");
        exit(EXIT_FAILURE);
    }
    printf("The result:\n");
    for(i=0;i<row1;i++){
        for(j=0;j<col2;j++){
            for(k=0;k<col1;k++){
                matrix[i][j]=matrix[i][j]+matrix1[i][k]*matrix2[k][j];
            }
        }
    }

    for(i=0;i<row1;i++){
        for(j=0;j<col2;j++){
            printf("%d ",matrix[i][j]);
        }
        printf("\n");
    }
    return 0;
}