所以这是我销毁链表的代码。
void destroy(node *h){
if (h->next!=NULL){
destroy(h->next);
}
free(h);
h=NULL;
}
问题是打印仍然输出一堆数字:
11, 2, 15, 3, 9, //销毁前
28495936, 28495968, 28496064, 28496096, 0, //销毁后
void destroy(node *h)
不幸的是,由于分配原因,我无法更改参数。我尝试过使用 while 循环方法,但仍然得到相同的结果。我也尝试向左移动并从末尾删除,但我无法删除最后一个节点。
提前致谢。
--edit--- 根据要求,这里是打印功能
void print(node* N){
printf("%d, ", N->value);
if (N->next)
print_set(N->next);
if (N == NULL)
printf("Empty Set");
}