标题:行列互换中在定义函数中怎么返回一个二维数组?
只看楼主
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
已结贴  问题点数:3 回复次数:1 
行列互换中在定义函数中怎么返回一个二维数组?
本人小白,把一个二维数组行列互换,下面是我的程序,但是输出的结果总是有问题,请大神帮忙指正!万分感谢!!!

#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];     这里应该怎么补充修改呢?
 }
 
搜索更多相关主题的帖子: include please 
2016-09-25 16:21
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
用b[3][3]做函数的形参。
2016-09-25 16:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469182-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.096467 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved