[求助]有关new操作符分配内存生成动态数组的
#include<iostream.h>void move(int (*p)[3]);
void main()
{
int i,j;
int (*pointer)[3];
pointer=new int [3][3];
cout<<"请输入一个3×3的二维数组:"<<endl;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
*((*pointer+i)+j)=i*10+j;
cout<<"你输入的二维数组为:"<<endl;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
cout<<pointer[i][j]<<' ';
cout<<endl;
}
move(pointer);
cout<<"输出的一个二维数组是:"<<endl;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
cout<<pointer[i][j]<<' ';
cout<<endl;
}
}
void move(int (*p)[3])
{
int i,j,t;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
{t=*((*p+i)+j);
*((*p+i)+j)=*((*p+j)+i);
*((*p+j)+i)=t;
}
}
..............................
本程序完成的是转置矩阵的功能.....
编译的时候无错误,但程序运行的结果与事实不符。
麻烦哪位大虾看一下,不胜感激!!!!!