递归时链接列表返回值混淆

  • 本文关键字:返回值 列表 链接 递归 c
  • 更新时间 :
  • 英文 :


我有一个代码片段来递归地反转链接列表

struct node *Reverse_List(struct node *p)
{
if (p->next == NULL) {
head = p;
return;
}
p = Reverse_List(p->next); ----> why this is wrong to get the value into pointer p ?
struct node *ptr1 = p->next;
p->next = ptr1->next;           
ptr1->next = p;
}

此代码与"Reverse_List(p->next);"配合良好。但是如果我在指针p中取它的返回值(如代码片段中所指出的),它会给我分段错误。

代码的第一行定义了一个函数,期望返回一个指针。

struct node *Reverse_List(struct node *p)

你需要返回值来进行递归调用。

p = Reverse_List(p->next); ----> why this is wrong to get the value into pointer p ?

但是在函数体中没有返回任何东西。

相关内容

  • 没有找到相关文章

最新更新