S1nk 2023-03-22 15:29 采纳率: 50%
浏览 36
已结题

C++递归编程出现栈溢出的问题

#递归算法出现的栈溢出
本人在学习C++的过程中在做一道递归的课后习题,出现了报错不知道是什么原因
函数代码如下:

int test(int n) 
{
    if (n / 2 == 0) 
    {
        return n / 2;
    }
    else 
    {
        test(3*n+1);
    }
}

//调用部分:
int result=test(5);

出现报错情况如下:

线程 0x2bac 已退出,返回值为 0 (0x0)。
0x00007FF71D6F2109 处(位于 lianxi2.exe 中)引发的异常: 0xC00000FD: Stack overflow (参数: 0x0000000000000001, 0x0000005C77C03FF8)。
0x00007FF71D6F2109 处有未经处理的异常(在 lianxi2.exe 中): 0xC00000FD: Stack overflow (参数: 0x0000000000000001, 0x0000005C77C03FF8)。

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-03-22 15:34
    关注

    return test(3*n+1);
    if (n % 2 == 0)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月22日