我正在尝试递归打印链表。我为递归打印创建了自己的辅助函数,我在主打印反向函数中调用它。
发生的事情是,我指向列表头部的指针将成功转到列表的最后一个元素,但它会崩溃。我不确定这里到底发生了什么。我已经使用!=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");
}