一个关于双叉树实现的算法,输出有问题。望斧正
程序代码:#include<stdio.h>
#include<malloc.h>
typedef struct Node
{
char data;
struct Node* LChild;
struct Node* RChild;
} BiNode,*BiTree ;
//定义二叉树
int CreateBiTree(BiTree *bt)
{
char ch;//树内的值
ch=getchar();
if (ch=='.') *bt=0//定义空;
else
{
*bt=(BiTree)malloc(sizeof(BiNode));
(*bt)->data=ch;
CreateBiTree(&((*bt)->LChild));
CreateBiTree(&((*bt)->RChild));
}
return 0;
}//用递归二叉树的建立
int PreOrder(BiTree root)
{
if (root!=0)
{
printf("%c",&root->data);
PreOrder(root->LChild);
PreOrder(root->RChild);
};
return 0;
}//用递归输出
int main ()
{
int CreateBiTree(BiTree* bt);
int PreOrder(BiTree root);
BiNode a;
BiTree b;
b=&a;
CreateBiTree(&b);
PreOrder(&a);
return 0;
}








