Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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_Sorting_Qsort - Fatal编程技术网

C 如何正确排序数组?

C 如何正确排序数组?,c,sorting,qsort,C,Sorting,Qsort,我有排序数组的代码polsum: int comp (const void * a, const void * b){ double aa = *(double*)a, bb = *(double*)b; if (aa < bb) return -1; if (aa > bb) return 1; return 0; } double sort(double *polsum){ i

我有排序数组的代码
polsum

int comp (const void * a, const void * b){   
   double aa = *(double*)a, bb = *(double*)b;

   if (aa < bb) return -1;
   if (aa > bb) return  1;
   return 0;
}

double sort(double *polsum){                              
    int p;
    qsort(polsum, sizeof(double),sizeof(double), comp);
    return 0;
}
我哪里出错了?

您输入了sizeof(double)作为要排序的元素计数。sizeof(双精度)==8

考虑将以下内容添加到排序函数中:

double sort(double *polsum, int count) { int p; qsort(polsum, count, sizeof(double), comp); return 0; } 双重排序(双重*polsum,整数计数){ INTP; qsort(polsum、count、sizeof(double)、comp); 返回0; } 为要排序的元素计数传入sizeof(double)。sizeof(双精度)==8

考虑将以下内容添加到排序函数中:

double sort(double *polsum, int count) { int p; qsort(polsum, count, sizeof(double), comp); return 0; } 双重排序(双重*polsum,整数计数){ INTP; qsort(polsum、count、sizeof(double)、comp); 返回0; }
你没有给我们看你的全部代码。你没有给我们看你的全部代码。但是为什么?请问我怎样修理这个?我真的不知道你在一系列的双打中传球,你应该,在某个点上知道有多少个元素。您应该将元素数传递给排序函数。但是为什么呢?请问我怎样修理这个?我真的不知道你在一系列的双打中传球,你应该,在某个点上知道有多少个元素。您应该将元素数传递给排序函数。