这段关于矩阵转置的代码,运行后并未实现转置,请问是为什么呀·


/*------------------------------------------------
【程序设计】
--------------------------------------------------

功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)   
例如:输入下面的矩阵: 
       100 200 300     
       400 500 600     
       700 800 900 
      程序输出:   
      100 400 700     
      200 500 800
      300 600 900     

------------------------------------------------*/

#include <stdio.h>
          
int fun(int array[3][3])     
{
  /**********Program**********/   
   int i,j,b[3][3];
    
  for(i=0;i<3;i++)
      for(j=0;j<3;j++)
      { b[j][i]=array[i][j];}
      return 0;
 

  
  
  
  
  /**********  End  **********/
}     
main()     
{     
  int i,j;     
  int array[3][3]={{100,200,300},     
  {400,500,600},     
  {700,800,900}};     
  for (i=0; i < 3; i++)     
  {
    for (j=0; j < 3; j++)     
      printf("%7d",array[i][j]);     
    printf("\n");     
  }     
  fun(array);     
  printf("Converted array:\n");     
  for (i=0; i < 3; i++)     
  { 
    for (j=0; j < 3; j++)     
      printf("%7d",array[i][j]);     
    printf("\n");
  }
   
} 
    

img

你这只是把主函数定义的二维数组在函数中赋值给了另一个二维数组,主函数的二位数组没有改变,函数返回值也没啥用