#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; }
C Primer plus 10.2 初始化一个double类型的数组,然后把该数组的内容拷贝至3个其它的数组中,使用带数组的表示方法的函数进行第一份拷贝,使用带指针表示方法和指针递增的函..
猜你喜欢
转载自blog.csdn.net/qq_36324796/article/details/79061216
今日推荐
周排行