为了账号安全,请及时绑定邮箱和手机立即绑定

您好,关于函数调用的形参是函数那么这个函数的声明怎么写?

您好,关于函数调用的形参是函数那么这个函数的声明怎么写?

手掌心 2022-01-20 19:15:40
比如:void PreOrderTraverse(BiTree T,void(*Visit)(int)){ // 初始条件:二叉树T存在,Visit是对结点操作的应用函数。修改算法6.1// 操作结果:先序递归遍历T,对每个结点调用函数Visit一次且仅一次if(T) // T不空{ Visit(T->data); // 先访问根结点PreOrderTraverse(T->lchild,Visit); // 再先序遍历左子树PreOrderTraverse(T->rchild,Visit); // 最后先序遍历右子树}}在写这个函数声明是vist函数的部分应该写什么最简的形式
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

函数名像数组名一样是地址,函数名代表着函数的入口地址。直接填写和这个函数参数的类型一样的函数名。
如 定义一个函数 void PrintElement(int e) { /*打印数据函数*/
printf("%d",e);
}
那么先序遍历函数可以这么调用 PreOrderTraverse(T,PrintElement); 直接填函数名

查看完整回答
反对 回复 2022-01-23
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

就是printf ()函数 ,把T->data 的结果输出;

查看完整回答
反对 回复 2022-01-23
  • 2 回答
  • 0 关注
  • 267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信