用指针方法写一函数,将一个3×3的整型矩阵转置
#include<stdio.h>
void Transposition(int (*p)[3])
{
int t;
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < i; ++j)
{
t = *(*(p+i) + j);
*(*(p + i) + j) = *(*(p + j) + i);
*(*(p + j) + i) = t;
}
}
}
void main()
{
int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
for (int i = 0; i < 3; ++i)//原矩阵输出
{
for (int j = 0; j < 3; ++j)
{
printf("%3d", a[i][j]);
}
puts("");
}
puts("************************");
Transposition(a);
for (int i = 0; i < 3; ++i)//转置输出
{
for (int j = 0; j < 3; ++j)
{
printf("%3d", a[i][j]);
}
puts("");
}
}
运行结果: