题目:写一函数,将一个3×3的整形矩阵转置。
#include<stdio.h>
int main()
{
void move(int *s);
int a[3][3];int i=0;
int *p=&a[0][0];
printf("请输入一个3*3的数组:\n");
for(i=0;i<3;i++)
{
scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
}
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;
}
void move(int *s)
{
int i,j,t;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
t=*(s+3*i+j);
*(s+3*i+j)=*(s+3*j+i);
*(s+3*j+i)=t;
}
}
}
非技术の思索:二维数组的指针真的是让人头秃秃诶。
留个空地方写指针引用多维数组的笔记吧嘤=3=