我试图理解为什么我得到的结果是我。让我们说这是代码和结果:
很抱歉,如果这是微不足道的,但网上没有太多关于此的消息......如果d(3)的输出对我有意义,那么e(3)根本就没有。
为什么在这样的情况下移动写入会颠倒顺序?
我猜这与递归有关,但我仍然对此无能为力。
答案 0 :(得分:2)
这是因为在第一种情况下:你首先写,然后递归调用d(N1)
,所以例如d(3)
将write 3
然后call d(2)
等... < / p>
在第二种情况下:您先拨打e(N1)
,然后编写并更改订单,因为例如e(1)
会调用e(0)
,这将调用e(-1)
,这将成功然后e(0)
将write 0
然后e(1)
将write 1
等等......