所以我有这个排序函数,它假设接收一个结构数组,我需要按名称组织它们,两者都有名字和姓氏,如果它们的姓氏相同,那么我必须继续使用名字也比较一下。因此,我制作了 2 个包含姓氏和名字的字符串组合为 1,然后我遍历列表并查看哪个小并将其向上移动。但问题是......它什么也没做......根本,我不明白为什么!?
void sortStruct(struct student *list, int studentCount){
int j, k;
struct student temp;
char buffer[35];
char buffer2[35];
for (j = 0 ; j <= studentCount-2 ; j++){
sprintf(buffer, "%s, %s", list[j].lastname, list[j].firstname);
for(k = 1 ; k <= studentCount-1 ; k++){
sprintf(buffer2, "%s, %s", list[k].lastname, list[k].firstname);
if(buffer < buffer2){
temp = list[j];
list[j] = list[k];
list[j] = temp;
}
}
}
}
有谁知道怎么了?