用指针交换矩阵问题
#include<stdio.h>#include<stdlib.h>
int main()
{
void change(int (*p)[3]);
int b[3][3]={1,2,3,4,5,6,7,8,9};
change(b);
printf("原来的矩阵为:\n");
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
printf("%d",b[i][j]);
printf("\n");
}
printf("现在的矩阵为:\n");
change(b);
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
printf("%d",b[i][j]);
printf("\n");
}
system("pause");
return 0;
}
void change(int (*p)[3])
{
int t;
for(int i=0;i<3;i++)
for(int j=0;j<i;j++) //这里改成j<3为什么就不对了
{
t=(*(p+j))[i];
(*(p+j))[i]=(*(p+i))[j];
(*(p+i))[j]=t;
}
}