我想在主函数中先创建一个二叉树,然后再遍历。但我的程序调用CreateBiTree输入完要输入的数之后,还是一直在等待输入,无法停止。以致无法执行到后面的遍历二叉树函数。望高手给解答下!
#include
#include
#include
struct BiTree
{
int data;
struct BiTree *lchild;
struct BiTree *rchild;
};
int CreateBiTree(BiTree *t)
{
int ch;
scanf("%d", &ch);
if(ch==' ') t = NULL;
else
{
if( !( t=(BiTree*)malloc(sizeof(BiTree))) )
exit(1);
t->data=ch;
CreateBiTree(t->lchild);
CreateBiTree(t->rchild);
}
return 0;
}
int visit(BiTree *BT)
{
if(BT!=NULL)
{
printf("%d ",BT->data);
visit(BT->lchild);
visit(BT->rchild);
}
return 0;
}
int main()
{
BiTree *bitree;
CreateBiTree(bitree);
visit(bitree);
return 0;
}