[英]Using qsort to organize vec of struct (C)
我正在尝试使用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);
我收到这个warning: control reaches end of non-void function [-Wreturn-type] }
你只需要在if语句中返回,你需要在函数的底部返回它无论如何都可以得到它:
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.