运行前两步是正确的,第三步就不正确了我用的是vi 编辑器 调试gdb
`
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int TElemType;
typedef int Status;
typedef struct BiTNode
{
TElemType data;
struct BiTNode lchild,*rchild;
}BiTNode,*BiTree;
int i=0;//用来测试递归的层
Status CreateBiTree(BiTree *T)
{
i++;
printf("The%d level\n", i);
char ch;
scanf("%c",&ch);
setbuf(stdin,NULL);//用来清空输入缓存的数据
if(ch==' ')
(*T)=NULL;
else
{
if(!(*T=(BiTNode)malloc(sizeof(BiTNode))))
exit(0);
(*T)->data=ch;
CreateBiTree(&((*T)->lchild));
CreateBiTree(&((*T)->rchild));
}
return 1;
}
void main()
{
BiTree root;
CreateBiTree(&root);
printf("success");
}
`