C语言 二叉树的建立
为什么可以用scanf("%c"),这个语句一次输入完呢?%c格式不是只能读取到一个字符吗?求教一下这是怎么给各个节点赋值的?部分代码如下:#include<stdio....
为什么 可以用scanf("%c" ), 这个语句一次输入完呢? %c格式不是只能读取到一个字符吗? 求教一下这是怎么给各个节点赋值的?部分代码如下:#include <stdio.h>#include <stdlib.h>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; }
展开
3个回答
推荐于2018-04-27
展开全部
关键在这行 if(ch!='#') 如果不等于'#'就继续输入它的左子树和右子树。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-07-19
展开全部
char 也是可以当数字来用的呀 。。。。。。。。
追问
这个程序没用数字赋值啊。 用的就是字母。我问的是这个scanf语句在递归中是怎么逐个给各个节点赋值的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询