链接列表递归反向函数问题

时间:2015-04-30 22:37:56

标签: c recursion compiler-errors

我正在尝试递归打印链表。我为递归打印创建了自己的辅助函数,我在主打印反向函数中调用它。

发生的事情是,我指向列表头部的指针将成功转到列表的最后一个元素,但它会崩溃。我不确定这里到底发生了什么。我已经使用!=NULL检查了界限。在指针在最后一个整数处建立之后,为什么不向后打印它,我有点迷茫。这是我的代码。

void lst_recursion(NODE *p){
     while (p != NULL){
         lst_recursion(p->next);
         printf(FORMAT, p->val);
     }
}

void lst_print_rev(LIST *l) {
    NODE *p = l->front;
    printf("[");

    while (p!= NULL){
        lst_recursion(p);
    }
    printf("]\n");
}

0 个答案:

没有答案