0x00BF56C9 处有未经处理的异常(在 ConsoleApplication26.exe 中):

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0x00BF56C9 处有未经处理的异常(在 ConsoleApplication26.exe 中):相关的知识,希望对你有一定的参考价值。

0x00BF56C9 处有未经处理的异常(在 ConsoleApplication26.exe 中): 0xC00000FD: Stack overflow (参数: 0x00000001, 0x00E32FF8)。
#include<iostream>
using namespace std;
int fact(int n)

int f;
if (n == 0 || n == 1)
f = 1;
else f = fact(n - 1)*n;
return f;

int com(int m, int r)

int a, b, c, d;
b = fact(m);
c = fact(r);
d = fact(m - r);
a = b / (c*d);
return a;


void main()

int m, r, a;
cin >> m >> r;
a = com(m, r);
cout << a << '\n';

这是我编的程序,求的是m!/(r!*(m-r)!).求问哪里出错?我用的是vs2013,还有上述提示信息是什么类型的错误?新手刚入门

  stack overflow啦,就是栈溢出,这个应该是你输入的数过大,导致栈空间没有啦,在windows上运行一个程序,默认的栈空间是1M,超出就会stack overflow,特别是对于递归函数,它不停的用栈空间,不回收,解决的办法是使用一些数学公式代替递归。就是修改算法。追问

可请问我调试的时候输入的都是1,2之类的小数,这样也会溢出吗

追答

那应该没有问题。。反正提示是这样的,没仔细看你的代码。 你自己慢慢搞下吧,知道什么情况就好啦。

参考技术A 同志,你解决了吗,咋解决的,我也碰到了这样的问题

以上是关于0x00BF56C9 处有未经处理的异常(在 ConsoleApplication26.exe 中):的主要内容,如果未能解决你的问题,请参考以下文章

devenv.exe 中的 0x756c3e28 处有未经处理的异常

0x01A686F0 处有未经处理的异常(在 五金上色软件.exe 中): 0xC000041D: 用户回调期间遇到未经处理的异常。。

c++中的 0x004114a4 处有未经处理的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访

devenv.exe 中的 处有未经处理的异常

[C++]VS2015用array申请50万int类型数组,程序报栈空间溢出

Project3.exe 中 0x00C61540 处未处理的异常:0xC0000005:访问冲突读取位置 0x00000003