c - 达到非空函数 [C]

标签 c

这是目前我的代码:

if (f(mid >=0){
if (f(mid)<=tolerance){
return mid;
} else if (f(mid)>lo){
bisection ((*f), lo, mid, tolerance);
} else {
return bisection ((*f), mid, hi, tolerance);
} else {
mid = (-1) * mid;
if (f(mid) <= tolerance) {
return mid;
} else if (f(mid)> lo){
bisection ((*f), lo, mid, tolerance);
} else {
return bisection ((*f), mid, hi, tolerance);
}

只是想知道我可能在哪里搞砸了,我已经被困在这个问题上几个小时了

最佳答案

您只能从 if else 列表的 if 部分返回。您应该返回递归调用的结果:

} else if (f(mid) > lo) {
    return bisection ((*f), lo, mid, tolerance);
} else {
    return bisection ((*f), mid, hi, tolerance);
}

关于c - 达到非空函数 [C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42375499/

相关文章:

在 Arduino 上从 12 进制转换为 10 进制,反之亦然

c - c 中要加倍的数字字符串

c - C 中结构多态性的最佳方法

c - Apache C 模块如何向客户端发送响应

c++ - 使用按位运算进行洪水填充

c - 是否有某些版本的 longjmp 可以输出 long 值?

c - 解决信号量初始化期间的竞争条件

c - Bash 将脚本参数插入字符串

字符数组 - 为什么 for 循环不是无限的?

c - netlink_kernel_create 不适用于最新的 Linux 内核