c语言用指针实现矩阵转置----小弟新手,大侠帮帮忙
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void main()
{
void tran(int a[3][3]);
printf("请输入一个三阶矩阵\n");
int a[3][3],(*b)[3];
b=a; /*这里地址相同,但是到后面地址就不同了,变成了a=b+1的地址了,我没改过a的地址啊!!崩溃了
for(int j=0;j<9;j++)
{
printf("请输入a[%d][%d]\n",j/3,j%3);
scanf("%d",&b+j);
}
tran(a);
}
void tran(int a[3][3])
{
for(int i=0;i<3;i++)
{
for(int j=i+1;j<3;j++)
{
int p;
p=*(*(a+i)+j);
*(*(a+i)+j)=*(*(a+j)+i);
*(*(a+j)+i)=p;
}
}
for(int o=0;o<3;o++)
{
for(int t=0;t<3;t++)
{
printf("%5d",a[o][t]);
}
printf("\n");
}
}