这个c程序怎么编

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:22:19
写一个函数,是给定的一个3*3的二维整形数组转置,即行列互换.

谢谢了!!

代码如下:
#include<stdio.h>
#include <malloc.h>

void fun(int **a,int m)
{

int temp;
for(int i=0;i<m;i++)
for(int j=i;j<m;j++)
{
temp=*(*(a+i)+j);
*(*(a+i)+j)=*(*(a+j)+i);
*(*(a+j)+i)=temp;
}

}
void main(int c,char **s)
{
int *m[3],i,j,t=0;
for(i=0;i<3;i++)
{ m[i]=(int *)malloc(sizeof(int)*3);
for(j=0;j<3;j++)
{
m[i][j]=t;
t++;
}
}
fun(m,3);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d ",m[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
free(m[i]);
}