struct Node* findNode(struct Node* tail, char* Name, int Id, char* Class, int case_1) { struct Node* i; if (case_1 == 0) { for (i = tail->pro; i->pro != NULL; i = i->pro) if (Id == i->ID) return i; } else if (case_1 == 1) { for (i = tail->pro; i->pro != NULL; i = i->pro) if (Id == i->ID) { Print(i); return NULL; } printf("未找到,请输入正确ID\n"); } else if (case_1 == 3) { for (i = tail->pro; i->pro != NULL; i = i->pro) if (strcmp(Class, i->CLASS) == 0) { Print(i); } } else if (case_1 == 2) { for (i = tail->pro; i->pro != NULL; i = i->pro) if (strcmp(Name, i->NAME) == 0) { Print(i); } } return NULL; }
时间: 2024-03-15 19:43:09 浏览: 51
八数码_A星算法
这是一段 C 语言的代码,函数名为 findNode,接受四个参数:一个指向结构体 Node 的指针 tail,一个指向字符数组的指针 Name,一个整型变量 Id,一个指向字符数组的指针 Class,以及一个整型变量 case_1。
函数的作用是在链表中查找符合条件的节点,并进行相应的操作。case_1 参数决定了查找的方式,当 case_1 为 0 时,根据 Id 查找节点并返回;当 case_1 为 1 时,根据 Id 查找节点,如果找到则打印该节点并返回空指针,否则打印提示信息并返回空指针;当 case_1 为 2 时,根据 Name 查找节点,并打印符合条件的所有节点;当 case_1 为 3 时,根据 Class 查找节点,并打印符合条件的所有节点。
函数返回值为 NULL,表示未找到符合条件的节点。
阅读全文