关于数组元素用指针替换问题(100分)
main函数调用move函数传递指针来改变数组a中的元素
如
原数组
1 2 3
4 5 6
7 8 9
要求数组置换为:
1 4 7
2 5 8
3 6 9
只是不知哪里有问题,代码如下
#include <stdio.h>
#include <iostream>
using namespace std;
void move(int *poin)
{
int i,j,t;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{t=*(poin+3*i+j);
*(poin+3*i+j)=*(poin+3*j+i);
*(poin+3*j+i)=t;
}
printf("\n调用程序完毕");
}
int main()
{
printf("Hello, world\n");
int a[3][3],i,j;
int *p;
for(i=0;i<3;i++)
{
//scanf("%d%d%d",a[i][0],a[i][1],a[i][2]);
cin >> a[i][0] >> a[i][1] >> a[i][2];
}
p=&a[0][0];
move(p);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("%d",a[i][j]);
system("PAUSE");
return 0;
}