二叉,先序输入,中序输出

为什么最后没有输出,怎么改
#include
#include
using namespace std;
typedef struct BiNode
{
char data;
struct BiNode *lchild,*rchild;
}BiNode,*BiTree;
void CreateBiTree(BiTree T)
{
char c;
cin>>c;
if(c=='#')
{
T=NULL;
}
else
{
T=(BiNode *)malloc(sizeof(BiNode));
T->data=c;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void InorderTraverse(BiTree T)
{
if(T!=NULL)
{
InorderTraverse(T->lchild);
cout<data;
InorderTraverse(T->rchild);
}
}
int main()
{
BiTree t;
CreateBiTree(t);
InorderTraverse(t);
}

img