主函数里面scanf为什么没有被调用,求指教
代码如下#include<stdio.h>
#include<stdlib.h>
typedef struct node{
char data;
struct node *lchild,*rchild;
}Tnode,*Bistree;
#define LEN sizeof(Tnode)
void Insertbst(Bistree *T,Bistree p)
{
if(*T==NULL) *T=p;
else if((*T)->data==p->data)return;
else if((*T)->data>p->data) Insertbst(&(*T)->lchild,p);
else Insertbst(&(*T)->rchild,p);
}
void Createbst(Bistree *T)//T为为二级指针
{
Bistree p;
char ch;
ch=getchar();
*T=NULL;
while(ch!='@')
{
p=(Bistree)malloc(LEN);
p->data=ch;
p->lchild=p->rchild=NULL;
Insertbst(T,p);
ch=getchar();
}
}
Inorder(Bistree T)
{
if(T!=NULL)
{
Inorder(T->lchild);
printf(" %c",T->data);
Inorder(T->rchild);
}
}
int main()
{
Tnode root;
Bistree T=&root;
Bistree newp=(Bistree)malloc(LEN);
Createbst(&T);
Inorder(T);
putchar('\n');
printf("请输入要插入的字符:");
scanf_s("%c",&(newp->data));
newp->lchild=newp->rchild=NULL;
Insertbst(&T,newp);
Inorder(T);
putchar('\n');
system("pause");
return 0;
}谢谢