问题遇到的现象和发生背景 未能正常分配空间。
问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
struct binode{
char date;
struct binode *lchild,rchild;
};
typedef struct binode bitree;
bitree T=NULL;
int e=0;
void createbitree(bitree t);
void preordertraverse(bitree t);
int main(void)
{
createbitree(T);
preordertraverse(T);
}
void createbitree(bitree t)
{
char ch;
scanf("%c",&ch);
if(ch=='#')
t=NULL;
else
{
t=(bitree)malloc(sizeof(struct binode));
t->date=ch;
createbitree(t->lchild);
createbitree(t->rchild);
}
}
void preordertraverse(bitree t)
{
if(t==NULL)
return ;
printf("%c",t->date);
preordertraverse(t->lchild);
preordertraverse(t->rchild);
}
运行结果及报错内容
未能对树进行空间的分配。
我的解答思路和尝试过的方法
若使用二重指针则能正常建立并打印。
我想要达到的结果
想要知道问题所在。