gpt4 book ai didi

c - 使用qsort整理struct的vec(C)

转载 作者:太空宇宙 更新时间:2023-11-04 04:30:12 26 4
gpt4 key购买 nike

我正在尝试使用 qsort 来组织一个 vec。但是我在使用 cmpfunc 时遇到了问题。 vec 是结构的 vec。该结构非常简单,它有一个字符串和一个数字。我想按数量组织。

    int cmpfunc (const void *a, const void *b)
{
Item i = *((Item*) a);
Item j = *((Item*) b);
if (i->acc < j->acc)
return 1;
if (i->acc > j->acc)
return -1;
}

qsort(vec, max, sizeof(Item), cmpfunc);

我收到此 警告:控制到达非空函数的末尾 [-Wreturn-type]
}

最佳答案

你只在 if 语句中有一个 return 你需要在函数底部有一个 return 无论如何它总是可以到达:

int cmpfunc (const void *a, const void *b)
{
Item i = *((Item*) a);
Item j = *((Item*) b);
if (i->acc < j->acc)
return 1;
if (i->acc > j->acc)
return -1;
return 0;
}

或者这也行:

int cmpfunc (const void *a, const void *b)
{
Item i = *((Item*) a);
Item j = *((Item*) b);
if (i->acc < j->acc)
return 1;
else
return -1;
}

关于c - 使用qsort整理struct的vec(C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37220250/

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