发布网友 发布时间:2022-04-22 19:35
共1个回答
热心网友 时间:2022-05-13 17:48
double (*f)(double b); 这是声明 f 是 函数指针,函数返回double 型数值,该函数有一个形式参数,形式参数是 double 型简单变量。
f=sin; 即让指针 f 指向 名叫 sin 的函数。 语句中 (*f)(x) 等价于 sin(x).
f=cos; 即让指针 f 指向 名叫 cos 的函数。 语句中 (*f)(x) 等价于 cos(x).
f=tan; 即让指针 f 指向 名叫 tan 的函数。 语句中 (*f)(x) 等价于 tan(x).
这些函数已在 math.h 中声明过了,它们的原型分别是: double cos(double x);
double sin(double x); 和 double tan(double x); 我们可写入这些原型声明,略去包含 math.h
程序如下:
#include<stdio.h>
double cos(double x);
double sin(double x);
double tan(double x);
int main() {
double (*f)(double x);
double x=3.1415926535/4; // 假定是45度角
f=sin; printf("%lf %lf\n",(*f)(x),sin(x));
f=cos; printf("%lf %lf\n",(*f)(x),cos(x));
f=tan; printf("%lf %lf\n",(*f)(x),tan(x));
return 0;
}
输出:
0.707107 0.707107
0.707107 0.707107
1.000000 1.000000