私のコードの問題は、左の子の値が検索されると、再帰レベルが原因で戻って右の子をチェックすることです.そして、戻り値が正しくない. 私はそれを乗り越える方法を見つけることができません。
node * search(node *ptr,int key)
{
if(ptr->data==key)
return ptr;
else
{
if(ptr->lchild!='\0')
search(ptr->lchild,key);
else
return '\0';
if(ptr->rchild!='\0')
search(ptr->rchild,key);
else
return '\0';
}
}