C语言 二叉树的建立

论坛 期权论坛 期权     
1191945756   2018-4-29 11:22   3549   3
为什么 可以用scanf("%c"   ), 这个语句一次输入完呢? %c格式不是只能读取到一个字符吗?    求教一下这是怎么给各个节点赋值的?部分代码如下:#include #include typedef struct treenode{ char data; struct treenode *l; struct tree...为什么 可以用scanf("%c"   ), 这个语句一次输入完呢? %c格式不是只能读取到一个字符吗?    求教一下这是怎么给各个节点赋值的?部分代码如下:#include #include typedef struct treenode{ char data; struct treenode *l; struct treenode *r;}TreeNode;//使用先序遍历创建二叉树TreeNode * CreateTree(){ char ch; TreeNode *p;// printf("请按先序输入该序列:");  scanf("%c",&ch); if(ch!='#') {  p=(TreeNode *)malloc(sizeof(TreeNode));  p->data=ch;  p->l=CreateTree();  p->r=CreateTree(); } else p=NULL;  return p; }

展开

分享到 :
0 人收藏

3 个回复

倒序浏览
2#
热心网友  15级至尊 | 2018-4-30 01:03:56 发帖IP地址来自
关键在这行 if(ch!='#') 如果不等于'#'就继续输入它的左子树和右子树。
3#
丿艾瑞灬莉娅  3级会员 | 2018-4-30 01:03:57 发帖IP地址来自
从键盘输入字符,然后回车,字符会停留在缓冲区内,之后你每次scanf("%c", &ch)就会从缓冲区取出一个来
4#
热心网友  15级至尊 | 2018-4-30 01:03:58 发帖IP地址来自
char 也是可以当数字来用的呀         。。。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP