Spi*_*ire 2 c sorting attributes struct
我在C中有一个任务,通过使用qsort对结构进行排序
struct user {
enum SEX{m, f} sex;
char name[32];
char phonenr[32];
};
typedef struct user User;
Run Code Online (Sandbox Code Playgroud)
用户将存储在25个元素的数组中
但是我如何根据名字对它们进行排序呢?
在这种情况下,它很容易,因为strcmp很好地与qsort.尝试:
int compareUser(const void *v1, const void *v2)
{
const User *u1 = v1;
const User *u2 = v2;
return strcmp(u1->name, u2->name);
}
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
qsort(array, 25, sizeof(User), compareUser);
Run Code Online (Sandbox Code Playgroud)
祝好运!