我创建了一个链表,然后使用以下搜索函数来获取数据字段的位置,但它返回的值作为链表的最后一个元素。我无法猜测为什么
int search(struct node *curr,int d,int i)
{
if (!(curr-1))
return(0);
if (curr->data == d)
return i;
else
{
i++;
search(curr->link,d,i);
}
}
我使用以下语句从 main 控制它:
m=search(first,data,i) //这里 first 是指向第一个元素的指针,data 是要搜索的元素