大家帮忙看看这个二叉树的先序建立与打印输出问题出在哪里?(C语言编写,运行环境VC++6.0)
#include <stdio.h>#include <stdlib.h>
typedef char TElemType;
typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void CreatBiTree(BiTree T)
{
TElemType ch;
scanf("%c",&ch);
if(ch==' ')
T=NULL;
else
{
T=(BiTree)malloc(sizeof(BiTNode));
if(!T)
exit(0);
T->data=ch;
CreatBiTree(T->lchild);
CreatBiTree(T->rchild);
}
}
void PrintBiTree(BiTree T)
{
if(T)
{
printf("%c",T->data);
PrintBiTree(T->lchild);
PrintBiTree(T->rchild);
}
}
void main()
{
BiTNode T;
printf("请按先序遍历序列输入二叉树中各个结点的值(字符),若为空树时输入空格键:\n");
CreatBiTree(&T);
PrintBiTree(&T);
}