void CreateBiTree(BiTree* T)
{
char c;
scanf("%c",&c);
if(c=='#')
{
(*T)==NULL;
}
else
{
(*T)=(BiTree)malloc(sizeof(BiTNode));
(*T)->date=c;
CreateBiTree(&(*T)->lchild);
CreateBiTree(&(*T)->rchild);
}
}
当c=#时为什么程序没有进入if语句而是直接跳过if和else,没有给(*T)赋值为空
肯定会进入if,但因为这是递归调用,所以还会运行其他节点的操作。