どのようにreturn((count-2)+(count-1))
の線がcpp
プログラムで動作しますか? 与えられたコードのansは-18です。コード を実行せずにansを知り、function count(n-2)
とcount(n-1)
のどちらかが最初に呼び出され、どのように決定されるのですか?togeatherに2つ以上の再帰関数が書き込まれている場合、プログラムはどのように実行されますか?
#include <iostream>
using namespace std;
int count(int n);
int main() {
int n, m;
n = 4;
m = count(n);
cout << m;
}
int count(int n)
{
if (n<0)
{
return n;
}
else
{
return (count(n - 2) + count(n - 1));
}
}
関数呼び出しの結果については、評価の順序は関係ありません。 –
@ manni66この場合はありませんが、メソッド呼び出しごとに変化し、戻り値に影響を与えるグローバル状態があった場合はどうなりますか? –
@DavidEtler他の質問です。一般的には:それをしないでください。 –