浏览二叉树后出现无用的东西

After browsing binary tree appears something unuseful

我创建了一个二叉树。 作为点头,我给了 values:1,5,7,3,4,2.After 添加给定的点头并按预先顺序遍历树,我得到 result:1-5-3- 2-4-7-33-。 我不明白这个 33 来自哪里。谁知道,求助

#include <iostream>
using namespace std;
typedef struct nod
{
    int inf;
    nod *st, *dr;
}ARB;
ARB *tns;
void add(ARB * &r,int info)
{
    if(!r)
    {
        r=new ARB;
        r->inf=info;
        r->st=r->dr=0;
    }
    else
        if(info<r->inf) add(r->st,info);
        else if(info>r->inf) add(r->dr,info);
             else cout<<"\n exist\n";
}
void create(ARB* &r)
{
    int info,n,i;
    cout<<"nr of nods";cin>>n;
    for(i=1;i<=n;i++)
    {
        cout<<"nod: "<<i<<":";
        cin>>info;
        add(r,info);
    }
}
void rsd(ARB *r)
{
  if(r != NULL)
  {
    printf(" %d - ",r->inf);
    rsd(r->st);
    rsd(r->dr);
  }
}
int main()
{
    ARB *rad=0;
    int x;
    create(rad);
    add(rad,x);
    rsd(rad);

}

计算机添加了一个额外的节点,因为您告诉它:

ARB *rad=0;
int x;      // <-- unspecified value
create(rad);
add(rad,x); // <-- added to tree
rsd(rad);