我在 C 中有一个任务,使用 qsort 对结构进行排序
struct user {
enum SEX{m, f} sex;
char name[32];
char phonenr[32];
};
typedef struct user User;
用户将存储在一个包含 25 个元素的数组中
但我如何按名称之类的东西对它们进行排序?
在这种情况下,这很容易,因为strcmp
配合得很好qsort
. Try:
int compareUser(const void *v1, const void *v2)
{
const User *u1 = v1;
const User *u2 = v2;
return strcmp(u1->name, u2->name);
}
然后像这样使用它:
qsort(array, 25, sizeof(User), compareUser);
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)