首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

递归 输入有关问题

2013-12-05 
递归 输入问题# includestdio.h# includemalloc.htypedef struct BiTNode{char datastruct BiTNode *

递归 输入问题
# include<stdio.h>
# include<malloc.h>
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*biTree;

void createtree(biTree T)
{
char c;
printf("plese input a char input " "endof \n");
scanf("%c",&c);//这里 在递归时有一次不会执行  为什么?
printf("存入RTR\n");
if(c == 'E')
{
T = NULL;
}
else
{
T = (BiTNode *)malloc(sizeof(BiTNode));
(T)->data= c;
(T)->lchild = NULL;
T->rchild = NULL;
printf("存入%c\n",c);
createtree((T)->lchild);
printf("右树\n");
createtree((T)->rchild);
}

}

void visittree(char c ,int level)
{
if(c == 'D')
printf("%c is at %d\n",c,level);
}

void ordertree(biTree t,int level)
{
visittree(t->data,level);
ordertree(t->lchild,level+1);
ordertree(t->rchild,level+1);
}

int main(void)
{
biTree t=NULL;
int level=1;
createtree(t);
ordertree(t,level);
return 0;
}
[解决办法]


scanf("%c",&c);//这里 在递归时有一次不会执行  为什么?
getchar(); //吃掉回车符

热点排行