i32 findIntSec(f64 in_x, f64 tb_X[],i32 N)
{
i32 re_up;
if (in_x < tb_X[0]) //若插值点在区间左侧,返回第一个点与第二个点之间的插值结果
{
re_up= 1;
}
else if (in_x >= tb_X[N - 1]) //若插值点在区间右侧,返回最后一个点与倒数第二个点之间的插值结果
{
re_up = N - 1;
}
else
{
for (int i = 0; i <= (N - 1); i++) //寻找插值点所在的区间
{
if ((in_x >= tb_X[i]) && (in_x < tb_X[i + 1]))
{
re_up = i + 1;
break;
}
}
}
// return re_up;
}
在写c++程序时,遇到这样一个问题:在执行以下代码时,调用了findIntSec()函数,但是findIntSec()函数里面没有return语句,却得到了正确的返回值,这是为什么呢?
Idx1_up = findIntSec(in_x1, tb_X1, N1)