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

帮忙看一下代码啊不知道错哪了

2013-10-27 
帮忙看一下代码啊,不知道哪里错了!#include stdio.h#include malloc.h#define ERROR 0#define OK 1typ

帮忙看一下代码啊,不知道哪里错了!
#include <stdio.h>
#include <malloc.h>
#define ERROR 0
#define OK 1
typedef char TElemType;
typedef struct BiTNode{
TElemType data;
struct BiTNode * lchild,* rchild;
}BiTNode,*BiTree;


char ch;
BiTree CreatBitree(BiTree &T){
int i=0;
TElemType str[]={"ABC##DE#G##F###"};
ch=str[i++];
if (ch=='#')
{
T=NULL;
}
else{
if (!(T=(BiTNode *)malloc(sizeof(BiTNode))))
return ERROR;

T->data=ch;
CreatBitree(T->lchild);
CreatBitree(T->rchild);
}
return T;
}


void PreOrder(BiTree b)
{
if(b!=NULL){
printf("%c",b->data);
PreOrder(b->lchild);
PreOrder(b->rchild);
}
}
void InOrder(BiTree b)
{
if (b!=NULL)
{
InOrder(b->lchild);
printf("%c",b->data);
InOrder(b->rchild);
}
}
void PostOrder(BiTree b){
if (b!=NULL)
{
PostOrder(b->lchild);
PostOrder(b->rchild);
printf("%c",b->data);
}
}
void main()
{
BiTree b,c;
b=CreatBitree(c);
printf("先序遍历:\n");
PreOrder(c);
printf("\n中序遍历:\n");
InOrder(c);
printf("\n后序遍历:\n");
PostOrder(c);
}

[解决办法]

int i=0;
TElemType str[]={"ABC##DE#G##F###"};
char ch;
BiTree CreatBitree(BiTree &T){
//移到上面 int i=0;
//移到上面 TElemType str[]={"ABC##DE#G##F###"};
ch=str[i++];
if (ch=='#')
{
T=NULL;
}
else{
if (!(T=(BiTNode *)malloc(sizeof(BiTNode))))
return ERROR;

T->data=ch;
CreatBitree(T->lchild);
CreatBitree(T->rchild);
}
return T;
}

热点排行