void fun1(struct Node* head)
{
if(head == NULL)
return;
fun1(head->next);
printf("%d ", head->data);
}
head->next 变为 0 后,如何向后打印,请解释一程?
您必须根据
调用堆栈的操作方式来考虑调用。
该函数在打印任何内容之前命中fun1
调用,因此它将在打印之前一直到基本情况。然后,它会在每次调用中打印;向后打印列表。
您可以阅读代码,例如"如果有,则打印下一个节点,然后打印此节点"。打印下一个节点的操作将打印第一个节点之后的节点,直到列表末尾。