麻烦大神们帮我看看我的代码为什么遍历时输出不了
//二叉链树的实现#include <stdio.h>
#include <stdlib.h>
typedef struct Bitnode
{
int data;
struct Bitnode *lchild;
struct Bitnode *rchild;
}Binode,*Bitree;
Bitree createbitree(Bitree T) //创建树
{
int ch;
scanf("%d",&ch);
printf("已输入\n");
if(ch==0)
return T;
else
{
T=(Bitree)malloc(sizeof(struct Bitnode));
T->data=ch;
T->lchild=createbitree(T->lchild);
T->rchild=createbitree(T->rchild);
}
return T;
}
void visit(int e)
{
printf("%d\t",e);
}
//先序遍历二叉链树
void preorder(Bitree T)
{
if(T)
{
exit(0);
}
else
{
visit(T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
int main()
{
Bitree T;
T=createbitree(T);
preorder(T);
return 0;
}