简单的二叉树建立和遍历,为什么没有输出
#include<stdio.h>#include<stdlib.h>
typedef struct BiTree{
char data;
struct BiTree *lchild;
struct BiTree *rchild;
}BiTrNode;
void CreateBiTree(BiTrNode *T);
void TraverstBiTree(BiTrNode *T);
int main()
{
BiTrNode *T = NULL;
CreateBiTree(T);
TraverstBiTree(T);
return 0;
}
void CreateBiTree(BiTrNode *T)
{
char c;
scanf("%c",&c);
if(' '==c)
{
T = NULL;
}
else
{
T = (BiTrNode *)malloc(sizeof(BiTrNode));
T->data = c;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void TraverstBiTree(BiTrNode *T)
{
if( T )
{
printf("%c\n",T->data);
TraverstBiTree(T->lchild);
TraverstBiTree(T->rchild);
}
}
为什么输入之后,不打印值