#include<stdio.h>
void move(int *pointer){
int i,j,t;
// 遍历矩阵,对每一对(i,j)和(j,i)的元素进行交换
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{
t=*(pointer+3*i+j); // 保存当前元素
*(pointer+3*i+j)=*(pointer+3*j+i); // 将(j,i)位置的元素赋给(i,j)位置
*(pointer+3*j+i)=t; // 将之前保存的元素赋给(j,i)位置
}
}
int main(){
int a[3][3],*p,i;
printf("请输入3*3矩阵:\n");
// 读取用户输入的矩阵
for(i=0;i<3;i++)
scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
p=&a[0][0]; // 获取指向矩阵第一个元素的指针
move(p); // 调用转置函数
printf("转置后:\n");
// 输出转置后的矩阵
for(i=0;i<3;i++)
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
return 0;
}