大家帮我看看这个二维数组的初始化为什么有问题,怎么修改?
#include <stdio.h>#define M 1
#define N 2
#define P 3
void initialarray(int **array,int m,int n)
{
int a;
int i,j;
printf("请输入一个%d行%d列的整数矩阵:\n",m,n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
scanf("%d",&a);
*((int *)array+i*n+j)=a;
}
}
void printarray(int **array,int m,int n)
{
int i,j;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
printf("%5d ",*((int *)array+i*n+j));
printf("\n");
}
}
void main()
{
int A[M][N],B[N][P];
initialarray((int **)A,M,N);
printf("请输出A矩阵:\n");
printarray((int **)A,M,N);
initialarray((int **)B,N,P);
printf("请输出B矩阵:\n");
printarray((int **)B,N,P);
}