코드는 here에서 가져 왔습니다.qsort 비교 함수에 인수를 전달해야하는 이유는 무엇입니까?
* qsort example */
#include <stdio.h>
#include <stdlib.h>
int values[] = { 40, 10, 100, 90, 20, 25 };
int compare (const void * a, const void * b)
{
return (*(int*)a - *(int*)b);
}
int main()
{
int n;
qsort (values, 6, sizeof(int), compare);
for (n=0; n<6; n++)
printf ("%d ",values[n]);
return 0;
}
우리는 서명의 매개 변수와 비교 기능을 가지고 있지만 우리가 qsort가 그것을 호출 할 때 인수가 전달되지 않습니다. a
과 b
의 값은 어떻게 함수에 전달됩니까? 감사합니다
는 질문과 관련,하지만 당신은 당신의 배열에 정수의 범위는 INT_MAX''에 의해 제한되는 선험적으로 알고하지 않는 한 비교 기능은 주요 버그가 없습니다. cplusplus.com는 C와 C++ 정보에 대한 atrociously 나쁜 소스 이유 –
@R .. 난 그냥 cpluscplus.com에서 감사를했다 뭐하는거야? – Steve
또 다른 이유는 ... –