gpt4 book ai didi

c - Q对 double 组进行排序

转载 作者:行者123 更新时间:2023-12-04 04:40:59 25 4
gpt4 key购买 nike

我是使用 qsort 的新手,我正在尝试对预定义的 double 数组进行 qsort,不幸的是,在使用 qsort 对数组进行排序后,我收到的结果全是 0。我完全迷失了,任何建议将不胜感激。这是我用来对这个 double 数组进行排序的代码。

static int compare (const void * a, const void * b){
if (*(const double*)a > *(const double*)b) return 1;
else if (*(const double*)a < *(const double*)b) return -1;
else return 0;
}

double stuff[] = {255, 1, 5, 39.0};
qsort(stuff, 4, sizeof(double), compare);
int i;
for(i = 0; i < 4; i++){
printf("%d %s", stuff[i], " ");
}

最佳答案

您的问题是您使用 printf() 打印结果的方式功能。打印 double值,您需要使用 %f ,像这样:

printf("%f ", stuff[i]);

另外,只是一个旁注:你不需要这些 else比较函数中的语句,因为一旦条件被评估为真,它将返回该函数。

关于c - Q对 double 组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com