0
我正在使用標準過程刪除樹的所有節點,遍歷後有序並刪除節點。當我使用前序遍歷來顯示空樹時,我得到訪問衝突錯誤,我相信這與空指針有關。在刪除樹的節點時出現訪問衝突錯誤
void deleteallnodes(struct node **head){
if(*head==NULL)
return ;
{
deleteallnodes(&((*head)->left));
deleteallnodes(&((*head)->right));
free(*head);
}
}
void main() {
insert(&root,5);
insert(&root,10);
insert(&root,2);
deleteallnodes(&root);
preorder(root);
}
void preorder(struct node *root)
{
if (root)
{
printf("\t %d",root->data);
preorder(root->left);
preorder(root->right);
}
}
這個問題與你的'deleteallnodes'函數無關。發佈預訂代碼;那是你問題的地方是 – smac89