帮我看看这个程序
程序代码:/*
目的:将指定范围元素复制到指定数组中。
*/
#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中,会出错
这是怎么回事?谢谢。









