6.编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的函数来复制数组的每个子数组)。
# include <stdio.h>
void copy_ptr1(double (*array)[5], double (*target)[5], int var1);
void copy_ptr2(double *array, double *target, int var2);
int main(void)
{
int i, j;
double array[3][5] = {
{1,2,3,4,5},
{2,3,4,5,6},
{3,4,5,6,7},
};
double target[3][5] = {0};
copy_ptr1(array,target,3);
printf("拷贝的数组:\n");
for(i = 0; i < 3; i++)
{
for(j = 0; j < 5; j++)
{
printf("target[%d][%d] = %.2lf\n", i,j, target[i][j]);
}
}
return 0;
}
void copy_ptr1(double (*array)[5], double (*target)[5], int var1) //使用指针跨函数改值
{
for(int i = 0; i < var1; i++)
{
copy_ptr2(array[i], target[i], 5);
//target[i] = array[i];
}
}
void copy_ptr2(double *array, double *target, int var2)
{
for(int i = 0; i < var2; i++)
{
target[i] = array[i];
}
}