我无法理解这个例子.我无法弄清楚在某一点之后究竟发生了什么.
这是代码,结果应该是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;
}
Run Code Online (Sandbox Code Playgroud)
编辑: 非常感谢,这清除了!