1

我对 c 编程有点陌生,我正在尝试将函数与梯形规则集成。我的功能是这样的:

extern double integrate_trapezoid(double function,double min, double max, double subdivisions)
{
    double h = (max-min)/subdivisions;
    s=0;
    for (k=0; k < (subdivisions) ; k++)
    {
        s = s + (h/2) * (function(min + k*h) + function(min + (k+1)*h));
    }
    return s;
}    

我的问题是如何将通用函数传递给该函数?我希望这个集成梯形函数能够集成我需要的任何功能..

谢谢!奥马尔

4

1 回答 1

1

function您作为函数指针传递

例如

double integrate_trapezoid(double (*function)(double),double min, double max, double subdivisions)
{
    ...
    (*function)(someValue);
    ...
}

...

double someFunction(double value) { ... }

...

integrate_trapezoid(&someFunction, ...);
于 2013-11-07T09:39:22.790 回答