#include<stdio.h>
void move(int* n)
{
int i, j, t;
for (i=0;i<3;i++)
for (j = i;j < 3;j++)
{
t = *(n + 3 * i + j);
*(n + 3 * i + j) = *(n + 3 * j + i);
*(n + 3 * j + i) = t;
}
}
int main()
{
int a[3][3], * p, i;
printf("请输入一个矩阵:\n");
for (i = 0;i < 3;i++)
scanf_s(" % 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;
}
这是你要的效果嘛?
#include<stdio.h>
void move(int* n)
{
int i, j, t;
for (i=0;i<3;i++)
for (j = i;j < 3;j++)
{
t = *(n + 3 * i + j);
*(n + 3 * i + j) = *(n + 3 * j + i);
*(n + 3 * j + i) = t;
}
}
int main()
{
int a[3][3], * p, i;
printf("请输入一个矩阵:\n");
for (i = 0;i < 3;i++)
scanf_s("%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;
}
如有帮助,欢迎点赞+采纳哈!