C语言小白求救!这个矩阵为什么输出不对?

#include <stdio.h>
#include <stdlib.h>
void print(double a[10][20],int m,int n)
{
    int i,j;
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%3d",a[i][j]);
        }
        printf("\n");
    }
}
int main()
{
    int a[10][20]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
    print(a,3,4);
    return 0;
}

 

print方法用的double数组,main里面用的是int数组

#include <stdio.h>

#include <stdlib.h>

void print1(int a[10][20],int m,int n)

{

    int i,j;

    for(i=0;i<m;i++)

    {

        for(j=0;j<n;j++)

        {

            printf("%5d",a[i][j]);

        }

        printf("\n");

    }

}

int main()

{

    int b[10][20]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
    
    
    print1(b,3,4);

    return 0;

}

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^