c语言编写函数,用指针实现矩阵相加,并且将结果矩阵的指针作为函数返回值
#include "stdio.h"
#include "stdlib.h"
int **matrixAdd(int x1[][3],int x2[][3],int row,int col)
{
int **a=NULL;
int i,j;
a=(int **)malloc(row*sizeof(int *));
for(i=0;i<row;i++)
a[i]=(int *)malloc(col*sizeof(int));
for(i=0;i<row;i++)
for(j=0;j<col;j++)
a[i][j]=x1[i][j]+x2[i][j];
return a;
}
int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[2][3]={{11,12,13},{14,15,16}};
int ** result=NULL;
int i,j;
result=matrixAdd(a,b,2,3);
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("%d ",result[i][j]);
printf("\n");
}
free(result);
result=NULL;
}
结果:
2013-04-01