c - 可恢复处理器故障

标签 c processor turbo-c

下面的代码可以使用 return n <= 100 && (printf("%d\n", n), print(n+1)) || 0;但给出 return n <= 1000 && (printf("%d\n", n), print(n+1)) || 0; 的错误

#include <stdio.h>

int print(int n)
{
   return n <= 1000 && (printf("%d\n", 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. 如果允许,请不要使用递归来完成家庭作业。

关于c - 可恢复处理器故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8554155/

相关文章:

c - 如何以编程方式写下这个数学表达式?

c - 为什么这段代码会计算 linux 和 windows 文本文件中不同的行数?

c# - 获取 Windows 机器上的 PC(系统)信息

processor - 6502 中的随机控制逻辑是什么?

c - C编程中在图形中输入文字

c++ - 我在执行此功能时不断出错

C 光标问题

c++ - 初始化和赋值

c - scanf出错后输入检查

c++ - 如何在C++中使用处理器指令来实现快速算术运算