大家帮我看看这"棵"树怎么了
运行赋值AB##C## 回车后出现 对话框 说是内存不能为读之类的问题 我该怎么办啊 求教了~~
程序代码:#include<stdio.h>
#include<stdlib.h>
#define MAX_TREE_SIZE 15
#define NULL 0
typedef struct BitNode{ //节点结构
char data;
struct BitNode *lchirld,*rchirld;//左孩子,右孩子
}BitNode,*Bitree;
char ch;
int CreateBtree(Bitree T)
{
ch=getchar();
if(ch=='#') {T=NULL;} //空
else{
if(!(T=(Bitree)malloc(sizeof(BitNode)))) exit(0);//建立根节点
T->data=ch; //访问根节
CreateBtree(T->lchirld);//建立左子树
printf("aaa");
CreateBtree(T->rchirld);//建立右子树
printf("dddd");
}//else
printf("ccc");
return 0;
}//CreateBtree
void OrderTralversepre(Bitree T)
{ // 前序遍历二叉树
if(T==0) return ;
else{ printf("%c\n",T->data);
OrderTralversepre(T->lchirld); //前序遍历左子树
OrderTralversepre(T->rchirld); //前序遍历右子树
}//else
}//OrderTralversepre
void DistroyBitree(Bitree T)
{//销毁二叉树
if(T==0) return ;
else {DistroyBitree(T->lchirld);//销毁左子树
DistroyBitree(T->rchirld);//销毁右子树
}//else
free(T); //释放节点
}//DistroyBitree
void main()
{
BitNode T;
printf("建立一个二叉树\n");
CreateBtree(&T);
printf("\n");
OrderTralversepre(&T);//前序遍历二叉树
printf("\n");
DistroyBitree(&T);//销毁二叉树
printf("success");
}//main()[ 本帖最后由 st_win 于 2010-9-21 16:38 编辑 ]









