qsort를 사용하여 구조체 배열을 정렬하는 데 문제가 있습니다. 나는이 프로그램을 실행하면 그것은 나를 gp
의 모든 값에 대한 구조 1과 0에 원래 있던 이름을 지 웁니다 제공 http://support.microsoft.com/kb/73853qsort 구조 배열이 모든 것을 삭제합니다.
:
나는 예제로이 링크를 사용했다.typedef int (*compfn)(const void*, const void*);
struct record
{
char player[20];
int gp;
};
struct record entries[15];
int compare(struct record *, struct record *);
void show()
{
int v;
qsort((void *)entries, 10, sizeof(struct record), (compfunc)compare);
struct record *p = entries;
for(v=0;v<counter;v++, p++)
{
printf("%s ..... %d \n", p->player , p->gp);
}
}
int compare(struct record * p1, struct record * p2)
{
if(p1->gp < p2->gp)
return -1;
else if (p1->gp > p2->gp)
return 1;
else
return 0;
}
편집 : 이봐, 난이 모든 것을 당신이 사람이 말했다 그것은 여전히 사실 외에도 제로
이것은 컴파일해서는 안됩니다. –
(compfunc)에서 (compfn)을 제외하고 나를 위해 일하는 것 – 999k