行列互换中在定义函数中怎么返回一个二维数组?
本人小白,把一个二维数组行列互换,下面是我的程序,但是输出的结果总是有问题,请大神帮忙指正!万分感谢!!!#include<stdio.h>
int main()
{void bianhuan(int a[3][3]);
int i,j;
int a[3][3];
printf("输入一个二维数组:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("\n原始数组是:\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");}
bianhuan(a);
printf("please output 转换后的数组:\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
void bianhuan(int a[3][3])
{int i,m,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
{m=a[i][j];
a[i][j]=a[j][i];
a[j][i]=m;}
}
请问大神,如果我想通过引入一个新的数组b[3][3]来吧a[3][3]转制后的数组存放起来,在这个定义函数出怎么修改才能让这个函数返回b数组?
void bianhuan(int a[3][3])
{int i,m,j;
int b[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j]; 这里应该怎么补充修改呢?
}