为何原数组的值会改变??
#include
#define COLS 5
void copyPtr(int rows,const double (*ar)[COLS] , double (*pr)[COLS]);
void show(int rows,const double (*ar)[COLS]);
int main(void)
{
const double source[][COLS]={
{1.1,2.2,3.3,4.4,5.5},
{9.9,8.8,7.7,6.6,5.5},
{3.3,4.4,6.6,8.8,9.9}};
double target[][COLS]={0};
copyPtr(3,source,target);
show(3,source);
show(3,target);
getchar();
return 0;
}
void copyPtr(int rows,const double (*ar)[COLS] , double (*pr)[COLS])
{
int i,j;
for( i = 0 ; i < rows; ++i)
{
for( j = 0 ; j <COLS ; ++j)
pr[i][j]=ar[i][j];
}
}
void show(int rows,const double (*ar)[COLS])
{
int i,j;
for(i=0;i<rows;++i)
{ for(j=0;j<COLS;++j)
printf("%4.1lf",ar[i][j]);
} printf("\n");