求一将M*N矩阵转置问题 要求用指向二维数组的指针进行处理 我编这个为啥总出现 invalid indirection 请大家帮我改下
将M*N的矩阵转置要求 1 自定义一个函数完成矩阵的转置
2 在主函数中输入原矩阵,输出转置后的矩阵;
3 用指向二维数组的指针进行处理;
以下是我用tc编的代码
#include<stdio.h>
change(int *p1,int *p2,int m ,int n)
{ int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
*(*(p2+j)+i)=*(*(p1+i)+j);
}
main()
{int M,N,i,j;
int a[M][N],b[N][M];
printf("input M,N :\n");
scanf("%d%d",&M,&N);
for(i=0;i<M;i++)
for(j=0;j<N,j++)
scanf("%d",&a[i][j]);
change(a,b,M,N);
for(i=0;i<N;i++)
{
{ for(j=0;j<M;j++)
printf("%d ",a[i][j]);}
printf("\n");
}
}
多谢