我必须先对学生进行排序,然后才能明智地进行

1 c

我所做的代码如下......但它根本没有对结果进行排序.它只是打印输入相同的内容.请帮帮我

     strcpy(newnode->stud_name,name);
strcpy(newnode->stud_intake,id);
strcpy(newnode->stud_branch,course);
newnode->level=slevel;
newnode->next=NULL;


if(list==NULL)
    list=newnode;
else 
{
    if(slevel==list->level)
    {
        temp=list;          
        placefound=0;
    while(temp!=NULL && slevel==temp->level)
    {
            if(name>temp->stud_name)
            {
                prev=temp;
                temp=temp->next;
            }//else
            //placefound=1;
    }
            newnode->next=prev->next;
            prev->next=newnode;
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*har 6

在没有尝试详细调试链表代码的情况下,有一个非常可疑的观点:

if(name>temp->stud_name)
Run Code Online (Sandbox Code Playgroud)

可能是错的 - 你无法将C字符串与">"进行比较.查看如何在C标准库中使用"strcmp"函数.