我正在开发一个C程序,我想使用这个函数来检查是否已经插入了一个类型为Client的元素,该元素具有给定的编号。它沿着列表移动,在找到数字后立即返回1,只有当我试图编译时,它才告诉我不使用"prev“变量。
int list_search_number(LinkedListNode head, Client value){
LinkedListNode prev, curr;
prev = NULL;
curr = head;
while (curr != NULL) {
if(curr->value.number!=value.number){
prev = curr;
curr = curr->next;}
else if(curr->value.number==value.number)
return 1;
}
return 0;
}正确定义了链接列表和客户端结构。
发布于 2013-11-29 14:17:38
您不需要存储prev指针,因为不需要它。删除prev变量并继续。
如果找到数字,则将算法更改为返回1,如果没有找到,则返回0。prev指针是无用的。
这是密码。
int list_search_number(LinkedListNode head, Client value){
LinkedListNode curr;
curr = head;
while (curr != NULL) {
if(curr->value.number==value.number){
return 1;
}
else {
curr = curr->next;
}
}
return 0;
}https://stackoverflow.com/questions/20287689
复制相似问题