我无法理解这个例子。我无法弄清楚在某一点之后实际发生了什么。
这是代码,结果应该是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;
}
编辑: 非常感谢,这清除了它!