前序遍历创建二叉树问题

void CreateBiThrTree( BiThrTree *T )
{

char c;

scanf_s("%c", &c);


if (' ' == c)
{
    *T = NULL;
}
else
{
    *T = (BiThrNode *)malloc(sizeof(BiThrNode));
    (*T)->data = c;
    (*T)->ltag = Link;
    (*T)->rtag = Link;

    CreateBiThrTree(&(*T)->lchild);
    CreateBiThrTree(&(*T)->rchild);
}

}


如上图,我在创建二叉树时后续迭代时会要求重复输入scanf,但我看别人代码写的时候就不会,请问这是为什么?```

根据你的代码,你输入一个空格,表示没有子节电。(人家的程序一般用#)