69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, b[3][3] = { 0 }, (*p)[3] = a, (*q)[3] = b, i, j;
void zh(int(*p1)[3], int(*q1)[3]);
void sc(int(*p2)[3]);
int main()
{
printf("矩阵转置前:\n\n");
sc(p);
printf("矩阵转置后:\n\n");
zh(p, q);
return 0;
}
void zh(int (*p1)[3], int (*q1)[3])
{
for (i = 0; i<3; i++)
for (j = 0; j<3; j++)
*(*(q1 + j) + i) = *(*(p1 + i) + j);
sc(q1);
}
void sc(int (*p2)[3])
{
for (i = 0; i<3; i++)
{
for (j = 0; j<3; j++)
printf("%-2d", *(*(p2 + i) + j));
printf("\n");
}
}