函数的参数中有函数
写四个函数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这个函数的地址。说白了就是通过函数的地址调用该函数。 还不明白就先查一下函数指针。再查一下回调函数。
[解决办法]
太简单了 不说了