Так что у меня возникли проблемы с использованием qsort для сортировки массива структур.массив структуры qsort удаляет все
Я использовал эту ссылку в качестве примера: http://support.microsoft.com/kb/73853
При запуске программы она дает мне гасит для имен, которые были первоначально в структуре и нулей для всех значений gp
.
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;
}
Edit: Привет всем спасибо за вашу помощь, но я попробовал все, что вы, ребята сказали, и он до сих пор просто переворачивает все значения до нуля
это не должно компилироваться. –
Помимо (compfunc) to (compfn) его работы для меня – 999k