指针实现矩阵转置

点击打开链接

当输入时,要根据列数的多少来进行分配...

如果根据行数的话会使空间重合。。。

输出时也要很据列数...

#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;
}


原文地址:https://www.cnblogs.com/yyf573462811/p/6365142.html