0

以下のコードは問題あり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;
}

このコードには次のエラーがあります:エラーの予想と再開可能なプロセッサの障害を除算します

私はWindows7でBorlandTurboc++4.5を使用しています。

それを修正する方法と、優れたC(特に)IDEを提案する方法。Eclipse c / c ++は良いオプションだと思いますが、混乱しています。

4

1 に答える 1

2

再帰の深さによって引き起こされる単純なスタックオーバーフローのように見えます。あなたのオプション:

  1. 心配しないでください。この種のコードを実際に作成することは決してありません。
  2. スタックサイズを増やします。
  3. 許可されている場合は、再帰を使用せずに宿題をします。
于 2011-12-18T19:25:50.027 に答える