gpt4 book ai didi

c++ - 指针值丢失

转载 作者:太空狗 更新时间:2023-10-29 20:28:51 25 4
gpt4 key购买 nike

我有一个问题,每次我从插入函数中退出时,root 值都会返回 NULL 我无法真正理解为什么指针不保持它的值。

int main(int argc, char *argv[])
{
int input;
node* root = NULL;
while (input >0 ) {
cout<< "Enter a Number:";
cin>> input;
insert (root,input);
}
printall(root);
system("PAUSE");
return 0;
}

void insert(node* _node,int val)
{

//#if 0
cout << "In insert before" << _node;
if (_node == NULL) {
_node = new node;
_node->val = val;
_node->left = NULL;
_node->right = NULL;
return;
}
//#endif
if(_node->val > val) {
insert(_node->left,val);
} else if (_node->val < val) {
insert(_node->right,val);
}
return;
}

最佳答案

指针并没有“失去”它的值(value)。您需要将指向节点指针的指针传递给 insert -- 然后它可以通过参数“返回”指向节点的指针。

关于c++ - 指针值丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12000004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com