这段c++调试结果为什么是这样

这段测试递归函数的c++代码调试后结果是这样,是那里出了问题呀

img

img

是不是你输入 100 就正常了?数据改大一些就异常了?

递归算法,只取决于堆栈大小。如果真的要递归几千次,可能修改算法实现更好。
递归的算法是可被裂解的。转化为循环,虽然代码多一点,但不会因为堆栈而退出。

你想打印也简单,改成 Release 模式编译,这样占用的堆栈空间会被优化很多

img