主题:递归创建二叉树没有出口是怎么回事?
#include <stdio.h>
#include <stdlib.h>
typedef struct bitnode{
char data;
struct bitnode *lchild,*rchild;
}bitnode,*bitree;
bitnode *CreateBitree()
{
char ch,c;
bitree T;
printf("input\n");
scanf("%c",&ch);
scanf("%c",&c);//注释1
if(ch=='/') {
T=NULL;
return T;
}
else{
T=(bitnode *)malloc(sizeof(bitnode));
T->data=ch;
T->lchild=CreateBitree();
T->rchild=CreateBitree();
return T;
}
}
int main(int argc, char *argv[])
{
bitree gen;
gen=CreateBitree();
system("PAUSE");
return 0;
}
递归创建二叉树没有出口是怎么回事?
scanf("%c",&c);//注释1这个语句起什么作用?
#include <stdlib.h>
typedef struct bitnode{
char data;
struct bitnode *lchild,*rchild;
}bitnode,*bitree;
bitnode *CreateBitree()
{
char ch,c;
bitree T;
printf("input\n");
scanf("%c",&ch);
scanf("%c",&c);//注释1
if(ch=='/') {
T=NULL;
return T;
}
else{
T=(bitnode *)malloc(sizeof(bitnode));
T->data=ch;
T->lchild=CreateBitree();
T->rchild=CreateBitree();
return T;
}
}
int main(int argc, char *argv[])
{
bitree gen;
gen=CreateBitree();
system("PAUSE");
return 0;
}
递归创建二叉树没有出口是怎么回事?
scanf("%c",&c);//注释1这个语句起什么作用?