指针数组置换
#include <stdio.h> #define N 3
void inputmatrix(int *p)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",*(p+i)+j);
}
}
void transpose(int *p)
{
int i,j;
int temp;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
temp = *(p+j)+i;
*(p+j)+i = *(p+i)+j;
*(p+i)+j = temp;
}
}
}
void printmatrix(int *p)
{
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d",*(*(p+i)+j));
}
}
int main()
{
int s[N][N], *p;
p = &s[0][0];
inputmatrix(p);
transpose(p);
printmatrix(p);
return 0;
}
问题:用指针把二维数组行列置换不知道我的代码错在那