运行不出结果,麻烦帮忙看一下吧
											基本要求:1) 用C语言编程描述二叉树存储结构和遍历算法;
2) 编写程序,建立二叉树的存储结构-二叉链表;
3) 编写程序,实现二叉树的前序、中序和后序遍历;
4) 计算二叉树的深度和叶子结点个数。
程序代码:#include<stdio.h>
#include<stdlib.h>
//二叉树的存储结构,一个数据域,两个指针域
typedef struct bitnode
{
    char data;
    struct bitnode *lchild,*rchild;
}bitnode,*bitree;
//二叉树的先序遍历
void preordertraverse(bitree t)
{
    if(t==NULL)
        return;
    printf("%c",t->data);
    preordertraverse(t->lchild);
    preordertraverse(t->rchild);
}
//二叉树的中序遍历
void inordertraverse(bitree t)
{
    if(t==NULL)
        return;
    inordertraverse(t->lchild);
    printf("%c",t->data);
    inordertraverse(t->rchild);
}
//二叉树的后序遍历
void postordertraverse(bitree t)
{
    if(t==NULL)
        return;
    postordertraverse(t->lchild);
    postordertraverse(t->rchild);
    printf("%c",t->data);
}
void createbitree(bitree *t)
{
    char ch;//输入结点的值(字符型)
    scanf("%c",&ch);
    if(ch=='#')
        *t=NULL;
    else
    {
        *t=(bitree)malloc(sizeof(bitnode));
        if(!*t)
            exit(-1);
        (*t)->data=ch;
        createbitree(&(*t)->lchild);
        createbitree(&(*t)->rchild);
    }
}
//二叉树的深度
int depth(bitree t)
{
    int depthleft,depthright,depthval;
    if(t)
    {
        depthleft=depth(t->lchild);
        depthright=depth(t->rchild);
        depthval=1+
            (depthleft>depthright?depthleft:depthright);
    }
    else
        depthval=0;
    return depthval;
}
int main()
{
    bitree t;
    createbitree(&t);
    preordertraverse(t);
    inordertraverse(t);
    postordertraverse(t);
    depth(t);
    return 0;
}


											
	    

	
											
