在二叉搜索树程序 Codeblock 中打印奇怪的字符

问题描述

我正在制作可以采用后缀表达式的程序,然后将创建该表达式的二进制表达式树。我的程序运行良好。我正在通过复制/粘贴一些示例后缀表达式来测试我的程序,但问题是现在它是不是按顺序打印,后序和预序,但实际上它正在打印一个奇怪的字符。在测试时,我可能不小心按下了功能键。我不确定是什么导致了这个问题。请帮我找出我的错误

这是输出。请告诉我为什么在 a 之后打印这个字符而不是表达式。

enter image description here

解决方法

您没有初始化您分配的 leftChildrightChildBTnode 成员。这些指针包含随机垃圾;它们通常不是 NULL

当你遍历树时,你最终会下降到一个叶节点,然后试图通过这些垃圾指针进一步向下遍历。因此程序表现出未定义的行为。