void BTreePreOrger(BKBTree root,void (*visit)(BTreeDT))
{
if(root)
{
(*visit)(root->data);
BTreePreOrder(root->lchild,visit);
BTreePreOrder(root->rchild,visit);
}
}
这个函数的参数visit应该是另一个函数的地址是把,但我怎么感觉不管怎么递归它只是在访问根的时候被调用过一次,那其他的节点根本就没有看到函数调用,也就没有被访问啊。 教材上的代码应该不会错,所以请高人解释下,谢谢了
可能我没说清楚, 我说的是它的参数visit()这个函数
BTreePreOrger()通过函数内的调用语句调用自己,visit()它和一样被调用就要有调用语句。
但我只看见它的地址被传来传去……