C语言 可恢复处理器故障



下面的代码对return n <= 100 && (printf("%dn", n), print(n+1)) || 0;没有问题,但对return n <= 1000 && (printf("%dn", n), print(n+1)) || 0;有错误

#include <stdio.h>
int print(int n)
{
   return n <= 1000 && (printf("%dn", n), print(n+1)) || 0;
}
int main(void)
{
   print(1);
   return 0;
}

这段代码有以下错误:除以误差期望和可恢复的处理器故障

我在windows 7上使用Borland Turbo c++ 4.5。

如何修复它,并建议一个好的C(特别是)IDE。我认为eclipse c/c++是一个不错的选择,但是很困惑。

看起来像是由递归深度引起的简单堆栈溢出。你的选择:

  1. 别担心,你永远不会真正写这种代码。
  2. 增加栈大小
  3. 如果允许的话,不要使用递归来完成作业。

最新更新