此代码可以正常运行,下附有运行区
#include <stdio.h>
#include <stdlib.h>
//定义结点
typedef struct BiTNode
{
char data; //数据
struct BiTNode *lchild; //左孩子
struct BiTNode *rchild; //右孩子
}BiTNode, *BiTree;
//先序创建二叉树
BiTree CreateBiTree()
{
char ch;
BiTree T;
scanf("%c", &ch);
if (ch == '#')
{
T = NULL;
}
else
{
T = (BiTree)malloc(sizeof(BiTNode));
T->data = ch;
T->lchild = CreateBiTree();
T->rchild = CreateBiTree();
}
return T;
}
//先序遍历
void PreOrderTraverse(BiTree T)
{
if (T)
{
printf("%c", T->data);
PreOrderTraverse(T->lchild);