这是目前我的代码:
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/