练习2.16中0x00E22277处的未处理异常 - Train Re-arrangement.exe:0xC00000FD:堆栈溢出(参数:0x00000000,0x002A2000)

时间:2013-02-28 03:09:39

标签: c exception stack-overflow

这个错误是什么意思?

  

练习2.16中的0x00E22277处的未处理异常 - 训练   Re-arrangement.exe:0xC00000FD:堆栈溢出(参数:   0x00000000,0x002A2000)。

这阻止我运行我的程序...... 我没有得到“Stack Overflow”的含义,为了处理这个异常,我需要做些什么?

整个代码有点长,所以我将总结一下:

它获取用户输入,并通过无限循环以处理输入。通过查看if语句和某些情况是否满足,它会中断并且程序终止+输出处理过的数据。

这个程序在NetBeans上运行良好(我不知道为什么),但是Visual Studio中的调试器说有一个未处理的异常,所以它无法运行.... 那么,我认为这很容易解决?

1 个答案:

答案 0 :(得分:7)

当您有无限递归时,即当函数调用自身(直接或间接)并且不返回时,通常会发生堆栈溢出。因此,每次调用都会在堆栈上产生更多数据,直到没有更多空间并且程序终止,如您所见。