t=a[i][j];
a[i][j]=a[j][i];
t=a[j][i];
这是为了将a[i][j]和ap[j][i]里面的数换过来,直接用a[i][j]=a[j][i];的话,只是将后面的值给了前面的,后面的那个没有变,=是赋值不是交换。
为什么不能把return写在循环里面,因为return意味着返回一个值并且退出这个函数,读到return就会退出这个函数,不会再执行循环
此外,你应该在分函数里输出转换后的矩阵,因为形参的值不会传递出来/**这一点不太清楚数组是不是这样,你在查一下
 程序代码:
程序代码:
										
					
	
	
	
	      a[i][j]=a[j][i];
t=a[j][i];
这是为了将a[i][j]和ap[j][i]里面的数换过来,直接用a[i][j]=a[j][i];的话,只是将后面的值给了前面的,后面的那个没有变,=是赋值不是交换。
为什么不能把return写在循环里面,因为return意味着返回一个值并且退出这个函数,读到return就会退出这个函数,不会再执行循环
此外,你应该在分函数里输出转换后的矩阵,因为形参的值不会传递出来/**这一点不太清楚数组是不是这样,你在查一下
 程序代码:
程序代码:#include<stdio.h>
#define n 3
void matrix(int a[3][3]);
int main()
{
    int i,j;
    int a[n][n];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    }
    printf("\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%3d",a[i][j]);
           
         printf("\n");
    }
    matrix(a);
    return 0;
}
void matrix(int a[3][3])     
{
    int i,j,t;
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
          {
             t=a[i][j];
             a[i][j]=a[j][i];                
             t=a[j][i];
           }
      }
     printf("转换后的矩阵为:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%3d",a[i][j]);
           
        printf("\n");
    }
}


 
											





 
	    

 
	




 
										
					
	
