float dcall(float (*fp)(),int n) { float s; s=(*fp)(n); return(s); }

[复制链接]
查看11 | 回复4 | 2011-9-23 12:35:09 | 显示全部楼层 |阅读模式
dcall有两个参数, 第一个是fp,它是个指向函数的指针。当在函数题内部执行s=(*fp)(n);时就相当于调用了函数*fp。 举个简单的例子说吧:#include float foo(int a){
return (float)(10 * a); }float func(int a){
return (float)(100 * a); }float dcall(float (*fp)(), int n){
return (*fp)(n);}int main(void){
printf("1, %f\n", dcall(foo, 10));
printf("2...
回复

使用道具 举报

千问 | 2011-9-23 12:35:09 | 显示全部楼层
简单地dcall有两个参数, 第一个是fp,它是个指向函数的指针。当在函数题内部执行s=(*fp)(n);时就相当于调用了函数*fp。 举个简单的例子说吧:#include float foo(int a){return (float)(10 * a); }float func(int a){return (floa...
回复

使用道具 举报

千问 | 2011-9-23 12:35:09 | 显示全部楼层
定义 一个函数 dcall 返回float需要两个参数: 1:返回float参数为空的函数指针, int 实现:将穿近的参数n传递给参数fp 函数,返回fp函数返回的值.PS: 不过这个函数好像有点问题啊, fp 是不带参数的,但调用的时候穿了n参数...
回复

使用道具 举报

千问 | 2011-9-23 12:35:09 | 显示全部楼层
float dcall(fp,n) float (*fp)(); int n; { float s; s=(*fp)(n); return(s); } #include...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行