c语言中出现了floating point error:domain

来源:百度知道 编辑:UC知道 时间:2024/09/21 09:28:18
#include"stdio.h"

main()
{
double source[4]={1,2.3,4.5,6.7};
double destination1[4];
double destination2[4];
double copy_array(double x[] ,double y[],int);
copy_array(source,destination1,4);
double copy_ptr(double *,double *,int );
copy_ptr(source,destination2,4); }
double copy_array(double x[],double y[],int z)
{int i;
for(i=0;i<z;i++) {y[i]=x[i];
printf("%f\n",y[i]);}
}
double copy_ptr(double *x ,double *y,int z)
{int i;
*y=*x;
for(i=0;i<z;i++) printf("%f",*(y+i));}
程序,为什么第二个函数就出现了这个错误

#include"stdio.h"

void main()
{
double source[4]={1,2.3,4.5,6.7};
double destination1[4];
double destination2[4];
void copy_array(double x[] ,double y[],int);
copy_array(source,destination1,4);
void copy_ptr(double *,double *,int );
copy_ptr(source,destination2,4);
}
void copy_array(double x[],double y[],int z)
{
int i;
for(i=0;i<z;i++)
{
y[i]=x[i];
printf("%f\n",y[i]);
}
}
void copy_ptr(double *x ,double *y,int z)
{
int i;
for(i=0;i<z;i++)
{
*(y+i)=*(x+i);
printf("%f\n",*(y+i));
}
}

把返回类型改为void试试呢.