指针实现矩阵转置
点击打开链接
当输入时,要根据列数的多少来进行分配...
如果根据行数的话会使空间重合。。。
输出时也要很据列数...
#include"stdio.h"#include"stdlib.h"int main(){int n,m,*p,i,j;scanf("%d%d",&n,&m);p=(int*)malloc(n*m*sizeof(int));for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%d",p+m*i+j);//这里分配时要按照列数来分配!!!for(i=0;i<m;i++){for(j=0;j<n;j++)//输出n个元素printf("%d ",*(p+m*j+i));//输出时也要根据列数printf("\n");}return 0;}