首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

函数的参数中有函数,该怎么解决

2012-09-01 
函数的参数中有函数写四个函数FUN1,FUN2,FUN3,FUN4,分别完成2个浮点数的加减乘除功能。写一个函数FUN,带一

函数的参数中有函数
写四个函数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函数,完成加减乘除工作。
[color=#FF0000][/color][size=24px][/size]其中的函数的参数是函数不明白?有人可否写一个例子给我看看啊???
调用 FUN(FUN4 ,FLOAT1,FLOAT2),完成2个浮点数的除法 ?????这个函数的参数里面有一个函数当作参数,我不明白,请各位大神指点

[解决办法]
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);

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

热点排行