c语言中tran函数 c语言\t用法

c语言函数与指针;实现sin,cos,tan的求值

这个需要用函数指针实现.

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了惠安免费建站欢迎大家使用!

这几个函数都是 double sin(double)的形式, 所以函数指针为 double(*pfun)(double)

于是 结果如下:

#include math.h

double execute (double x, double (*func)(double))

double temp;

temp = 0;//这里的temp没有实际作用. 

return ((*func)(x));

}

main()

double (*function[3])(double); 

double x=1;

int i;

function[0]=sin;

function[1]=cos;

function[2]=tan;

for (i=0; i3; i++)

printf("func No: %d---%f\n", i+1, execute(x, function[i]));

}

c编程的一个不懂的地方,希望大家帮个忙

前面的 tran

double tran(double (*)(double),double (*)(double),double);

是 tran 函数的声明。告诉编译器有一个这样的函数,声明函数的格式

返回类型 函数名( 参数1类型,参数2类型 );

后边的';'是格式要求

后面的 tran

double tran(double (*f1)(double),double (*f2)(double),double x)

{return (*f1)(x)/(*f2)(x);}

是tran 函数的实现。

这里 tran 函数 有三个参数,其中

第一个参数: 返回类型为 double 指向 带有 一个 double 参数 的 函数的指针;

第二个参数: 返回类型为 double 指向 带有 一个 double 参数 的 函数的指针;

第三个参数: double

参数1 参数2 传递的不是普通的变量 而是一个函数的入口

调用

y=tran(sin,cos,v); //* *//

是说 tran 的 参数1 参数2 在函数的实现部分 形参1 *f1 形参2 *f2 分别用

double sin(double) 和 double cos(double) 两个实际的函数代替

(*f1)(x)/(*f2)(x) 实际计算的是 sin(v)/cos(v)

计算的结果是 tan(v)

如果要计算 cot(v)

y=tran(cos,sin,v)

你也可以编写自己的 函数作为实参调用 tran

double myfun1(double x)

{

return exp(-x);

}

double myfun2(double x)

{

return x*x;

}

调用

y=tran(myfun1,myfun2,v);

这个调用计算的是 exp(-v)/(v*v)

x 是 一 double型 数值参数

c语言小白,求大神帮忙!

void tran(int*); ---- 声明tran函数,返回值是void,参数是int *类型

tran(a); -----调用tran函数,参数是数组a


当前标题:c语言中tran函数 c语言\t用法
网站网址:http://scjbc.cn/article/dohdpoj.html

其他资讯