Ciao a tutti, sono nuovo e spero che mi aiutate a trovare il problema!
Sto impazzando dietro a questo problema, io passo un BST alla funzione la quale deve trovarmi il nodo che contiene una chiava, il problema è che quando trova il nodo mi restitusice il nodo a NULL anche se appena prima del retrun la variabile Tmp di tipo NODO contiene esattamente l'indirizzo che contiene la chiave.
Ciò che non capisco è perche ritorna NULL al posto del valore trovato!
Cosa ho sbagliato ??? perche non mi fa ritornare il puntatore a cui sono arrivato ???
Grazie mille in anticipo! ciao

codice:
NODE *BstVisitInOrder(BST *B,char *cmp)
{
    NODE *K;

    K = _BstVisitInOrder(B->root,cmp);
    printf("%s\n",K->info);
    return (K);
}

NODE *_BstVisitInOrder(NODE *Tmp,char *cmp)
{
    if(Tmp==0)
        return NULL;

    if(strcmp(Tmp->info,cmp)==0)
        return (Tmp);

    _BstVisitInOrder(Tmp->sx,cmp);
    printf("%s\n",Tmp->info);
    _BstVisitInOrder(Tmp->dx,cmp);
}