STU *search_link(STU *head, char *name) { if (NULL == head) { printf("链表不存在\n"); return NULL; }//判断链表是否存在 else { STU *pb = head; while ((strcmp(pb->name, name) != 0) && (pb->next != NULL)) pb = pb->next; while (1) { if ((strcmp(pb->name, name) == 0) && (pb->next != NULL)) //找到要查找的名字,但下一个不为空(同学没查找完) { printf("结果是%d %s %f\n", pb->num, pb->name, pb->score); pb = pb->next; } else if ((strcmp(pb->name, name) == 0) && (pb->next == NULL)) //找到要查找的名字,但下一个为空(同学查找完了)返回这个同学的地址,通过主函数打印出来 { return pb; } else if ((strcmp(pb->name, name) != 0) && (pb->next == NULL)) { printf("找不到\n"); } else if ((strcmp(pb->name, name) != 0) && (pb->next != NULL)) { pb = pb->next; } } } }
主函数
结果显示
标签:NULL,name,管理系统,next,pb,查找,&&,学生,strcmp From: https://www.cnblogs.com/LMTSerendipity/p/17806705.html