我正在尝试使用一个函数作为另一个函数的参数。我想根据传递的函数获得不同的计算结果。我尝试通过编写以下程序来实现此目的:http://pastebin.com/CJfFarVa

码:
问题是我一遍又一遍地得到这个错误:

trapeze.c:14:8: error: conflicting types for ‘exp2’
double exp2(int number);

trapeze.c: In function ‘main’:
trapeze.c:28:35: error: expected expression before ‘int’
exp_2 = trapeze(0, 1, n, exp2(int x));
                               ^
trapeze.c:29:35: error: expected expression before ‘int’
exp_1 = trapeze(0, 1, n, exp1(int x));
                               ^
trapeze.c: At top level:
trapeze.c:58:8: error: conflicting types for ‘exp2’
double exp2(int number)


注意:我不想使用指向函数的指针。
抱歉,这是一个简单的问题。

最佳答案

原型

double trapeze(int a, int b, double n, double (*f)(int x));


呼叫

exp_2 = trapeze(0, 1, n, exp2);//exp2 : used c99
exp_1 = trapeze(0, 1, n, exp1);

关于c - 在C中使用函数作为参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22187054/

10-10 05:56