为什么这段程序通不过,求教?
#include"stdio.h"
int b[3][3];
int *move(int *matrix)
{
int *p=b[0];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
*(*(p+i)+j)=*(*(matrix+j)+i);
return p
}
void main()
{
int *p,a[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
p=move(a[0]);
for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
printf("%4d",*(*(p+i)+j));
}
printf("\n");
}
}
[解决办法]
帮你修改了下代码,再看看吧!基础不怎么好,搞本书看看先
#include <stdio.h>
int b[3][3];
int *move(int *matrix)
{
int *p = b[0];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
*((p+i*3)+j)=*((matrix+(j*3))+i);
return p;
}
int main()
{
int *p = NULL;
int a[3][3] = {0};
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
p=move( a[0] );
for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
printf("%4d",*((p+i*3)+j));
}
printf("\n");
}
}