二叉树输入数据无法退出scanf
#include<stdio.h>
#include<stdlib.h>
typedef struct treenode
{
char data;
struct treenode* lchild;
struct treenode* rchild;
}tnode;
void createnode(tnode** t)
{
char c;
scanf("%s ",&c);
if(c=='#')
{
*t=NULL;
}
else
{
t=(tnode)malloc(sizeof(tnode));
(*t)->data=c;
createnode(&((t)->lchild));
createnode(&((t)->rchild));
}
}
void preprint(tnode t)//前序遍历
{
if(t==NULL)
{
printf("树空。\n");
return;
}
else
{
printf(" %c->",t->data);
preprint(t->lchild);
preprint(t->rchild);
}
}
int main()
{
tnode newtree;
createnode(&newtree);
preprint(newtree);
return 0;
}
再往树里添加数据时,无法退出scanf进行下一步,输出格式用过S F G H H B V 这种,也用过FDSAFSAFS 这种,怎么解决啊?