誰もがこのプログラムが最終的な出力として8になって、私の脳が揚げられていることを理解するのを助けることができます!C++での再帰の例
#include <iostream>
#include <string>
using namespace std;
int unknown(int x);
int main()
{
cout << unknown(1);
}
int unknown(int x)
{
int result, y = 2;
if (x >= 6)
return 1;
else
{
result = unknown(x + 2) * y;
return result;
}
}
一度に1歩ずつ歩きます。 –
このような問題を解決する適切なツールは、デバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。最低限、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、その問題を再現するためのデバッガ。 –
@eggo、または、デバッガがあなたの揚げた脳の恐ろしい見通しのように見える場合(ちょっと、私たちはすべてそこにいました)、いくつかの印刷文を追加し、印刷されるものを考えます。 –