二叉树的遍历出现问题 求助
#include <stdio.h>#include <malloc.h>
#define OK 1
#define ERROR 0
/////////////////////////二叉树的二叉链表节点结构
typedef struct Node
{
char data;
struct Node * LChild;
struct Node * RChild;
}BiTNode, * BiTree;
int CreateBiTree(BiTree T)//建立二叉树
{
char ch;
ch=getchar();
if(ch==' ')
T=NULL;
else
{
if (!(T=(BiTNode *)malloc(sizeof(BiTNode))))
return ERROR;
T->data=ch;
CreateBiTree(T->LChild);
CreateBiTree(T->RChild);
}
return OK;
}
void PreOrder(BiTree root)
/*先序遍历二叉树, root为指向二叉树(或某一子树)根结点的指针*/
{
if (root!=NULL)
{
printf("%c",root ->data); /*访问根结点*/
PreOrder(root ->LChild); /*先序遍历左子树*/
PreOrder(root ->RChild); /*先序遍历右子树*/
}
}
int main()
{
BiTree Tree;
CreateBiTree(Tree);
PreOrder(Tree);
return 0;
}
在执行printf("%c",root ->data); /*访问根结点*/
出现问题,哪里错了呢