一个小小的问题.....
#include<stdio.h>void arr(double [],double [],int);
void ptr(double *,double *,int);
int main()
{
double source[5]={1,2,3,4,5};
double target1[5]={0};
double target2[5]={0};
arr(source,target1,5);
printf("\n\n");
ptr(source,target2,5);
return 0;
}
void arr(double a1[],double a2[],int a)
{
int i;
for(i=0;i<a;i++)
{
a2[i]=a1[i];
printf("target1[%d]=%g \n",i,a2[i]); // 这里为什么输出时一定要用%g,而不能%d ?
}
}
void ptr(double *p1,double *p2,int a)
{
int i;
for(i=0;i<a;i++)
{
*(p2+i)=*(p1+i);
printf("target2[%d]=%g\n",i,*(p2+i)); //还有这里。
}
}