qsortの引数に渡す比較関数には以下のような方がいい。
単純な引き算だと, bが INT_MINで aが正の数だったらオーバーフローするため
static int compare(const void *a, const void *b) { int num1 = *(int*)a; int num2 = *(int*)b; if (num2 > num1) { return -1; } else if (num2 == num1) { return 0; } else { return -1; } }
randで生成した数だと RAND_MAXに依存するけど, Ubuntuでは INT_MAXですね.
shortの最大値ぐらいかと思っていたら違っていた