#include <stdlib.h>
#include <stdio.h>
// 比较函数的格式是固定的,由 qsort 规定
int compare_ints(const void* a, const void* b) {
int arg1 = *(const int*)a;
int arg2 = *(const int*)b;
return (arg1 > arg2) - (arg1 < arg2); // 简洁的写法
}
int main() {
int numbers[] = { -2, 99, 0, -743, 53, 2 };
int n = sizeof(numbers) / sizeof(numbers[0]);
// 调用 qsort,并传入我们的比较函数指针
qsort(numbers, n, sizeof(int), compare_ints);
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
// 输出: -743 -2 0 2 53 99
}
|