帮我看看这个程序
程序代码:
/* 目的:将指定范围元素复制到指定数组中。 */ #include<stdio.h> void copy_ptr(double *,double *,int); int main(void) { double source[8]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8}; double target[3];//目标函数 //int i; copy_ptr(&source[2],target,3);//把源数组的第3-5个元素复制到target。传递第三个元素的地址,目标函数的地址,以及复制元素数目 return 0; } void copy_ptr(double *source,double * target,int n) { int i; for(i=0;i<n;i++) *target++=*source++; for(i=0;i<3;i++) printf("%.2lf ",*target++); putchar('\n'); }
执行结果不是从source[2]开始复制,而是从头复制。
如果把输出函数 for(i=0;i<3;i++)
printf("%.2lf ",*target++);
putchar('\n');
放到main中,会出错
这是怎么回事?谢谢。