关于C语言程序矩阵相加,能帮忙看看编写的程序哪里有问题啊?

图片说明
矩阵相加那块儿一直出错,看不出来哪里有问题

#include
int main(void) {
int A[3][3], i, j, sum;

for (i = 0; i <= 2; i++) {
    for (j = 0; j <= 2; j++) {
        printf("a[%2d]行[%2d]列", i, j);
        scanf("%d", &A[i][j]);
    }
}

for (i = 0; i <= 2; i++) {
    for (j = 0; j <= 2; j++)printf("%4d", A[i][j]);
    printf("\n");
}
int B[3][3], m, n, sun;

for (m = 0; m <= 2; m++) {
    for (n = 0; n <= 2; n++) {
        printf("a[%2d]行[%2d]列", m,n);
        scanf("%d", &B[m][n]);
    }
}

for (m = 0; m <= 2; m++) {
    for (n = 0; n <= 2; n++)printf("%4d", B[m][n]);
    printf("\n");
}
int C[3][3];

int k, l;

C[k][l] = A[i][j] + B[m][n];

printf("\n");
for (k = 0; k < 3; k++)
{
    for (l = 0; l < 3; l++)
        printf("%5d", C[k][l]);
    printf("\n");
}
return 0;

}

int main(void) {
    int A[3][3], i, j;
    for (i = 0; i <= 2; i++) {
        for (j = 0; j <= 2; j++) {
            //printf("a[%2d]行[%2d]列", i, j);
            printf("a[%d][%d]=", i, j);
            scanf("%d", &A[i][j]);
        }
    }
    for (i = 0; i <= 2; i++) {
        for (j = 0; j <= 2; j++)
            printf("%4d", A[i][j]);
        printf("\n");
    }

    int B[3][3], m, n;
    for (m = 0; m <= 2; m++) {
        for (n = 0; n <= 2; n++) {
            //printf("a[%2d]行[%2d]列", m, n);
            printf("b[%d][%d]=", m, n);
            scanf("%d", &B[m][n]);
        }
    }
    for (m = 0; m <= 2; m++) {
        for (n = 0; n <= 2; n++)printf("%4d", B[m][n]);
        printf("\n");
    }

    int C[3][3];
    printf("\n");
    for (int k = 0; k < 3; k++)
    {
        for (int l = 0; l < 3; l++) {
            C[k][l] = A[k][l] + B[k][l];
            printf("%5d", C[k][l]);
        }
        printf("\n");
    }
    return 0;
}

最后的时候借住二重循环,实现加法计算,貌似你对二重循环的理解不好,对变量的理解也不好。

#include
int main() {
int A[3][3], i, j, sum;

for (i = 0; i <= 2; i++) {
    for (j = 0; j <= 2; j++) {
        printf("a[%2d]行[%2d]列", i, j);
        scanf("%d", &A[i][j]);
    }
}

for (i = 0; i <= 2; i++) {
    for (j = 0; j <= 2; j++)printf("%4d", A[i][j]);
    printf("\n");
}
int B[3][3], m, n, sun;

for (m = 0; m <= 2; m++) {
    for (n = 0; n <= 2; n++) {
        printf("a[%2d]行[%2d]列", m,n);
        scanf("%d", &B[m][n]);
    }
}
//输出B
for (m = 0; m <= 2; m++) {
    for (n = 0; n <= 2; n++)printf("%4d", B[m][n]);
    printf("\n");
}

int C[3][3];
int k, l;
for (k = 0; k < 3; k++){
    for (l = 0; l < 3; l++)C[k][l] = A[k][l] + B[k][l];
}


printf("\n");
for (k = 0; k < 3; k++){
    for (l = 0; l < 3; l++)printf("%5d", C[k][l]);
    printf("\n");
}
return 0;

}