您的位置:首页 > 其它

C Primer plus 10.2 初始化一个double类型的数组,然后把该数组的内容拷贝至3个其它的数组中,使用带数组的表示方法的函数进行第一份拷贝,使用带指针表示方法和指针递增的函..

2018-01-15 09:44 1471 查看
#include <stdio.h>

void copy_arr (double target1[], double s1[] , int x);
void copy_ptr (double target2[], double s2[], int y);
void copy_ptrs(double target3[], double s3[], double * index);
int main(void)
{
double source [5] = {1.1, 2.2, 3.3, 4.4, 5.5};
double target1[5];
double target2[5];
double target3[5];

copy_arr (target1, source, 5);
copy_ptr (target2, source, 5);
copy_ptrs(target3, source, source+5);
printf("target 1 :   \n");
printf("%.1f %.1f %.1f %.1f\n",target1[0],target1[1],target1[2],target1[3]);
printf("target 2 :   \n");
printf("%.1f %.1f %.1f %.1f\n",target2[0],target2[1],target2[2],target2[3]);
printf("target 3 :   \n");
printf("%.1f %.1f %.1f %.1f\n",target3[0],target3[1],target3[2],target3[3]);

return 0;
}
void copy_arr (double target1[], double s1[] , int x)
{
int i;

for (i = 0; i <  x; i++)
{
target1[i] = s1[i];
}
return;
}
void copy_ptr (double target2[], double s2[], int y)
{
double *t_index;
double *s_index;
int j;

t_index = target2;
s_index = s2;
for (j = 0; j < y ;j++)
{
*(t_index +j) = *(s_index +j);
}

return;
}
void copy_ptrs(double target3[], double s3[],double * index)
{

int i = 0;

/*for ( i =0 ;  index - s3> 1; i++ )
{
target3 [i] = *s3;
s3++;
printf("%.1f ",target3[i]);
}*/ //另一种方法
while ( s3 < index )
{
target3[i] = *s3;
s3++;
i++;
}

return;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐