代码能编译,能运行,但是出不来结果怎么回事?

 我来答
帐号已注销

2021-12-26 · TA获得超过1439个赞
知道答主
回答量:9788
采纳率:32%
帮助的人:291万
展开全部
首先说下这段代码的问题:
一、scanf函数后面如果不想把回车也放到Btree里面,后面加上getchar()函数过滤掉回车;
二、在dson函数里面有一个判断T是否为空错了,是==不是=,改为if(T == NULL);
三、还是在这个函数,逻辑错误,else if()这句条件是或者||,不是且&&,改成
else if(T->lchild || T ->rchild );
四、上面都改完就有结果出来了,但是节点数会少一个,因为最后一个没有孩子没有计数,改成下面的就可以:

五、这里输入会有个不好的地方,就是你输入的多上个字符,就要输入2(n-1)个#才能结束输入,而且严格意义上说这生成的不是一颗树而是链表,一直往左边扩展,没有树的优势了。
以上就是这段代码的分析,解答的好的话,请多多采纳,谢谢。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式