下面的代码可以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 ++是一个很好的选择,但很困惑。
答案 0 :(得分:2)
看起来像递归深度导致的简单堆栈溢出。你的选择: