Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回一个数组,该数组在c中的位置为二进制_C_Arrays_Dynamic Memory Allocation - Fatal编程技术网

返回一个数组,该数组在c中的位置为二进制

返回一个数组,该数组在c中的位置为二进制,c,arrays,dynamic-memory-allocation,C,Arrays,Dynamic Memory Allocation,我必须返回一个数组double*b,并将其与函数arrays\u equal中的double*a进行比较。代码不工作,测试失败。我在这里写下相关代码: double* array_copy(/*IN*/ const double* a, int n) { double *b; b = xcalloc(n,sizeof(double)); for(int i = 0; i < n; i++){ *(b + i) = *(a + i);

我必须返回一个数组
double*b
,并将其与函数
arrays\u equal
中的
double*a
进行比较。代码不工作,测试失败。我在这里写下相关代码:

double* array_copy(/*IN*/ const double* a, int n) {

   double *b;
   b = xcalloc(n,sizeof(double));

   for(int i = 0; i < n; i++){
       *(b + i) = *(a + i);    
       printf("%.2f\n",b[i]);   
       }     
   printf("%.2f\n",b[0]);

   return  b;
}
同等功能:

void array_copy_test(void) {
    double a1[] = { 1.50, 2.30, 42.42 };
    double* b1 = array_copy(a1, 3);
    test_equal_b(arrays_equal(a1, b1, 3), true);
    free(b1);
bool arrays_equal(/*IN*/ const double* a, /*IN*/ const double* b, int n) {
    int j = 0;
    for(int i = 0; i<= n; i++){
        if(approx(*(a+i),*(b+i))){

        j++;
       }
    }      

if(n == j){
      return true;
     } else{return false;}

}


void arrays_equal_test(void) {

    double a3[] = { 1.5, 2.3, 42.43 };
    double b3[] = { 1.5, 2.3, 42.42 };
    test_equal_b(arrays_equal(a3, b3, 3), false);


}

bool approx(double a, double b) {
    return fabs(a - b) < 1e-6;
}
bool数组等于(/*IN*/const double*a,/*IN*/const double*b,int n){
int j=0;

for(inti=0;i您的代码有一些错误。首先,为什么要为(int i=0;iYou没有显示函数
test_equal_b
test_equal_b
的兴趣是什么,而
arrays_equal
可能返回true或false?比较true和true?@Navidms如何实现
arrays_equal
?您的平等测试超出了范围。非常感谢。这是我的问题,我应该这样做我们都犯过很多这样的错误,而不是不感到难过。