この例を理解するのに苦労しています。ある時点以降に実際に何が起こるかわかりません。
コードは次のとおりです。結果は 4 になるはずです。
何度か自分自身を呼び出していることがわかりますが、実際にどのようにして結果が 4 になるかは完全にわかりません。どんな助けでも大歓迎です。
#include <stdio.h>
int recursion(int i)
{
return (i>1 ? i - recursion(i/2) : 3);
}
int main()
{
int number = 9;
printf("The result is %d\n", recursion(number));
return 0;
}
編集: どうもありがとう、それですっきりしました!