我试图排序一组无符号长.但是,由于某种原因,qsort用零填充整个数组而不是对它进行排序.我将展示对函数,比较器和GDB的调用.
此图显示了qsort之前和之后的数组,以及我对函数的调用.
这是电话:
qsort(scores[c], sizeof(scores[c]), sizeof(scores[c][0]), comparator);
Run Code Online (Sandbox Code Playgroud)
这是我的比较器函数,称为比较器:
int comparator(const void *p, const void *q)
{
if( *((unsigned long *)p) < *((unsigned long *)q)){
return -1;
}
else if( *((unsigned long *)p) == *((unsigned long *)q)){
return 0;
}
else{
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
是什么导致了这一点,我该怎么办呢?