//二叉树的创建,程序有误
#include<stdio.h>
#include<stdlib.h>
typedef struct BINode
{
int data;
struct BINode *lchild,*rchild;
} BiNode,*BiTree;
int Creat(BiTree *Tree)
{
int el;
scanf("%d",&el);
if(el == 0)
{
*Tree == NULL;
}
else
{
if(!(*Tree = (BiTree)malloc(sizeof(BiNode)))) exit(1);
((*Tree)->data) = el;
Creat(&(*Tree)->lchild);
Creat(&(*Tree)->rchild);
}
return 0;
}
void Preorder(BiTree Tree)
{
if(Tree)
{
printf("%d ",Tree->data);
Preorder(Tree->lchild);
Preorder(Tree->rchild);
}
}
int main()
{
BiTree Tr;
printf("按前序遍历输入值: ");
Creat(&Tr);
printf("\n前序遍历为: ");
Preorder(Tr);
return 0;
}