Qsort不会对整型数组进行任何更改

qsort does not make any changes to the integer array

本文关键字:任何更 数组 整型 Qsort      更新时间:2023-10-16

我正在使用qsort对整数数组进行排序。但qsort并没有对数组做任何改变。我的比较函数如下:

int mycomp(const void *a, const void *b){
int *a1 = (int*)a;
int *b1 = (int*)b;
if ( a1 <  b1 ) 
    return -1;
else if ( a1 == b1 ) 
    return 0;
else
    return 1;
}

数组包含:

pos[M] = {40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 5, 10, 15, 20, 15, 30, 35};

我调用qsort为:

qsort(pos, M, sizeof(int), mycomp);

输出是完全相同的数组。有人能帮帮我吗?

比较指针值

修复:

int a1 = *(int*)a;
int b1 = *(int*)b;