首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

问一个关于二叉树创建的有关问题

2012-10-08 
问一个关于二叉树创建的问题我想在主函数中先创建一个二叉树,然后再遍历。但我的程序调用CreateBiTree输入

问一个关于二叉树创建的问题
我想在主函数中先创建一个二叉树,然后再遍历。但我的程序调用CreateBiTree输入完要输入的数之后,还是一直在等待输入,无法停止。以致无法执行到后面的遍历二叉树函数。望高手给解答下!

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>

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;
}

[解决办法]
创建函数应该用引用,或二级指针
[解决办法]
fflush( stdin );

热点排行
Bad Request.