snat-yy 2021-06-08 11:30 采纳率: 0%
浏览 79

函数声明了返回类型,但是在函数体中没有return语句,却返回了正确的值,为什么?

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)
  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-06-08 11:36
    关注

    怎么可能,编译都通不过啊,别说返回正确值了

    可能你执行的程序和代码不是一个版本吧

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制