int (*f(float (*)(long), char *))(double);给出一个示例,说明如何调用f
时间: 2023-08-28 13:40:50 浏览: 46
C语言double和float 实例分析
假设我们有一个函数g,它符合f声明中第一个参数的要求,即接受一个long类型的参数并返回一个float类型的值。我们可以这样调用f:
```c++
// 声明一个函数,满足f的第一个参数的要求
float g(long x) {
return x * 1.0f;
}
// 调用f
int result = (*f)(g, "hello")(3.14);
```
这里的调用过程可以解释为:先将g和一个字符串字面量"hello"作为参数传递给f,这样f会返回一个指向函数的指针,然后我们再将3.14作为参数传递给该函数,最终得到一个int类型的返回值。
阅读全文