#include <SDL3/SDL.h>
#define array_len 100
static int num_compare(const void *_a, const void *_b)
{
int a = *((int *) _a);
int b = *((int *) _b);
return (a > b); // non-transitive
}
int main(int argc, char *argv[])
{
int nums[array_len];
for (int i = 0; i < array_len; i++) {
nums[i] = (int)SDL_rand();
}
SDL_qsort(nums, array_len, sizeof (int), num_compare);
for (int i = 0; i < array_len; i++) {
SDL_Log("%i", nums[i]);
}
return 0;
}
./a.out
*** stack smashing detected ***: terminated
Aborted (core dumped)