1
私はC++を新しく使いました。電卓を作ろうとしています。しかし、私はシンプルなC++ XCODEプログラムのEXC_BAD_ACCESS
int factorial(int num1)
何が起こっているすべてのアイデアにエラーEXC_BAD_ACCESSを取得し、
int factorial(int num1) {
int sum;
if (num1 == 1) {
sum = 1;
}
else {
sum = factorial((num1 - 1) * num1);
}
return sum;
}
私がしようとすると、これをコンパイルするたびに:私は、数の階乗を取得する目的のために、この機能を設計しましたか?私はXCODEを使用しています。
私はコンパイラがクラッシュするのではないかと疑いますが、実行しようとするとクラッシュするプログラムだと思います。しかし、私たちが[最小限で完全で証明可能な例](http://stackoverflow.com/help/mcve)を持っていなければ、あまり言い表せません。あなたの質問を編集してください。最も重要なのは、関数の呼び出し方法(宣言していない)です。そして、あなたが入力を読んだ場合は、あなたが与えた実際の入力も含めてください。または、デバッガでプログラムを実行して自分で解決しようとします。 –
ただし、あなたは*無限再帰*を持つ関数に '2'を渡します。デバッガを使用して理由を調べることができます。 –