函数的参数中有函数

bookc-man 2012-07-30 05:55:00
写四个函数FUN1,FUN2,FUN3,FUN4,分别完成2个浮点数的加减乘除功能。
写一个函数FUN,带一个指向函数的指针参数,2个浮点参数
调用 FUN(FUN1 ,FLOAT1,FLOAT2),完成2个浮点数的加法
调用 FUN(FUN2 ,FLOAT1,FLOAT2),完成2个浮点数的减法
调用 FUN(FUN3 ,FLOAT1,FLOAT2),完成2个浮点数的乘法
调用 FUN(FUN4 ,FLOAT1,FLOAT2),完成2个浮点数的除法
写MAIN函数,分别按上例调用四次FUN函数,完成加减乘除工作。
其中的函数的参数是函数不明白?有人可否写一个例子给我看看啊???
调用 FUN(FUN4 ,FLOAT1,FLOAT2),完成2个浮点数的除法 ?????这个函数的参数里面有一个函数当作参数,我不明白,请各位大神指点
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bookc-man 2012-07-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

建议查一下回调函数,并不是说函数的参数是函数,而是这个参数是一个指针。调用时传进去的是函数的指针。比如调用 FUN(FUN1 ,FLOAT1,FLOAT2)其中的FUN1就是FUN1这个函数的地址。说白了就是通过函数的地址调用该函数。 还不明白就先查一下函数指针。再查一下回调函数。
[/Quote]


那这个回调函数有什么意义啊?直接在函数内部直接调用不就行了么?
Code_Talk 2012-07-30
  • 打赏
  • 举报
回复
调用时传进去的是函数的地址。 笔误。
Code_Talk 2012-07-30
  • 打赏
  • 举报
回复
建议查一下回调函数,并不是说函数的参数是函数,而是这个参数是一个指针。调用时传进去的是函数的指针。比如调用 FUN(FUN1 ,FLOAT1,FLOAT2)其中的FUN1就是FUN1这个函数的地址。说白了就是通过函数的地址调用该函数。 还不明白就先查一下函数指针。再查一下回调函数。
bookc-man 2012-07-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

double fun(double(*pF)(double,double),double x,double y)
{
if(fabs(y)<1e-32)
{
printf("除数为0\n");
return 0;
}
return pF(x,y);
}
double ADD(double x, double y)
……
[/Quote]多谢,不过double(*pF)(double,double)有点迷茫???!!!
cao_julians 2012-07-30
  • 打赏
  • 举报
回复
double fun(double(*pF)(double,double),double x,double y)
{
if(fabs(y)<1e-32)
{
printf("除数为0\n");
return 0;
}
return pF(x,y);
}
double ADD(double x, double y)
{
return x+y;
}
...
CALLING:
x=....;
y=....;
Z=FUN(ADD,x,y);

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧