我回到 K&R 是为了阅读一章,并注意到我之前省略的一个示例。本章涵盖了二叉树数据类型的主题。我了解在节点中存储新条目,但打印功能让我感到困惑。为什么要先打印左侧部分?
如果它printf
是函数中的第一个命令,然后是左和右,它会起作用吗?
如果不是——那为什么?
/* treeprint: in-order print of tree p */
void treeprint(struct tnode *p)
{
if (p != NULL) {
treeprint(p->left);
printf("%4d %s\n", p->count, p->word);
treeprint(p->right);
}
}