gpt4 book ai didi

c - 替代 C 中的嵌套函数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:04 24 4
gpt4 key购买 nike

C 中嵌套函数的标准替代方法是什么?如何赋予一个函数另一个函数的作用域?我真的不想像结构一样传递额外的参数,使用可变长度输入,或者使用 gcc 扩展,除非没有其他办法。

对于我的具体问题,我有这个功能:

double findroot(double (*fp)(double), double start, double end);

它找到一个函数 f(x) 的根,该函数的一个变量以函数指针作为参数。

我想传入一个包含多个变量的函数,其中除一个变量外所有变量都是固定的。例如,f(x,a,b,c),其中 a、b 和 c 都是传入的常量,x 是唯一变化的变量。如何找到 f(0,a,b,c),同时保持 findroot 函数不变,以便 findroot 函数可重用和通用,而不是特定于这种情况?

谢谢。

最佳答案

如果您需要找到 f(x,a,b,c),其中 a、b 和 c 是不变的,那么建议使用一个新的更专业的函数 f2(x) = f(x,a,b,c) .例如:

double f2( double x )
{
return f( x, 1.0, 2.0, 3.0 ) ;
}

关于c - 替代 C 中的嵌套函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com