我对C完全是新手.这是一个问题:
写功能
Run Code Online (Sandbox Code Playgroud)fzero(double f(double),double x1, double x2)正如我们在课堂上所做的那样,用它来找到所有的解决方案
Run Code Online (Sandbox Code Playgroud)sin( pi*x / (1+x^2) ) = 0.25.
现在,我不希望你解决这个问题.我错过了这个讲座,只想了解这意味着什么
double f(double);
Run Code Online (Sandbox Code Playgroud)
在那个上下文中,它意味着它f是一个函数指针,它接受一个double参数,并返回一个double.
举个例子:
void foo(double f(double))
{
double y = f(3.0); // Call function through function pointer
printf("Output = %f\n", y); // Prints "Output = 9.0000"
}
double square(double x)
{
return x*x;
}
int main(void)
{
foo(&square); // Pass the address of square()
}
Run Code Online (Sandbox Code Playgroud)
请注意,函数指针有两种语法:
void foo(double f(double))
void foo(double (*f)(double))
Run Code Online (Sandbox Code Playgroud)
这些是等价的.