指针的指针作为函数返回值的问题
有一个tc程序,求助!
输入一个n×(p+1)矩阵,要求输出其转置矩阵,并且转置用函数实现!
#include "stbio.h"
//矩阵转置函数
double **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);
}
void main()
int **x,**x_zhuanzhi;
int n,p;
{
//输入n,p
scanf("%d%d",&n,&p);
//为x,x_zhuanzhi分配内存空间
x=(double**)malloc(sizeof(double*)*n);
for (i=0;i<n;i++)
{
x[i]=(double *)malloc(sizeof(double)*(p+1));
}
x_zhuanzhi=(double**)malloc(sizeof(double*)*(p+1));
for(i=0;i<=p;i++)
x_zhuanzhi[i]=(double*)malloc(sizeof(double)*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型,程序就会出错.有哪位可以指点一下的。或者给我留言:QQ:25389192