tc指针的指针,急!
编了一个tc程序,求助!
输入一个n×(p+1)矩阵,要求输出其转置矩阵,并且转置用函数实现!
#include "stbio.h"
//矩阵转置函数
zhuanzhi(int **x,int n,int m)
int **y,i,j;
{
//为y分配m×n的内存空间;
//转置
for(i=0;i<m;i++)
for(j=0;j<n;j++)
y[i][j]=x[j][i];
return(y);
free(y);
}
main()
int **x,**x_zhuanzhi;
{
//输入n,p
scanf("%d%d",&n,&p);
//为x,x_zhuanzhi分配内存空间
x=(int**)malloc(sizeof(int*)*n);
for (i=0;i<n;i++)
{
x[i]=(int *)malloc(sizeof(int)*(p+1));
}
x_zhuanzhi=(int**)malloc(sizeof(int*)*(p+1));
for(i=0;i<=p;i++)
x_zhuanzhi[i]=(int*)malloc(sizeof(int)*n);
//输入矩阵x;
for(i=0;i<n;i++)
for(j=0;j<=p;j++)
scanf("%d",&x[i][j]);
//求矩阵x的转置矩阵;
x_zhuanzhi=zhuanzhi(x,n,(p+1));
//输出转置矩阵
free(x);
free(x_zhuanzhi);
}
请告诉我错在哪里,并且输入矩阵x时候,如果矩阵元素不是int型,而是double型,应该如何分配空间,我有试过直接将int修改为double但是输入x的时候会出错!