写了一个树的建立与输出的程序,不知道错在了哪里?
*树的基本操作*/#include <stdio.h>
#include <stdlib.h>
#define telemtype char
#define null 0
typedef struct bitnode {
telemtype data;
struct bitnode *lchild;
struct bitnode *rchild;
} bitnode,*bitree;/*连市存储结构*/
/******************/
void
creatbitree(bitree t) /*中序建立*/
{/*创建二叉树*/
char a;
printf("输入树结点:\n");
scanf("%c",a);
if(a=='') t=null;
else
{
t=(bitree )malloc(sizeof(bitnode));
if(!t) printf("failure");
t->data=a;
creatbitree(t->lchild);
creatbitree(t->rchild);
}/*else*/
}
/**********************/
void
inorderbitree(bitree t)
{/*先序输出这棵树*/
printf("这棵树如下:\n");
if(t)
inorderbitree(t->lchild);
printf("%-5c",t->data);
inorderbitree(t->rchild);
}
/**************************/
void
main()
{
bitree t;
creatbitree(t);
inorderbitree(t);
}
哪为大哥能帮帮我啊?
不知道出了什么问题,能通过编译,但结果不对?