什么是函数的递归调用?
答案:2 悬赏:50 手机版
解决时间 2021-03-05 09:52
- 提问者网友:寂寞撕碎了回忆
- 2021-03-04 23:50
什么是函数的递归调用?
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-03-05 00:12
在函数体内又调用本函数,称为函数的递归调用。
全部回答
- 1楼网友:归鹤鸣
- 2021-03-05 01:07
是每次调用 hanoi 函数的时候都会从头到尾执行,但是不是每一行都执行。
因为 hanoi 函数中有 if 语句。如果当时 n == 1,就只会执行 if 分支中的
move(one,three); 一句,跳过整个 else 分支。
如果当时 n != 1,就会跳过 if 分支,只执行 else 分支里的语句:
{ hanoi(n-1,one,two,three); move(one,three); hanoi(n-1,two,one,three); }
希望这样说,你能清晰一点。
其实不用害怕递归调用,虽然说调用自己,其实可以看成代码相同的另一个函数。譬如说一开始 n = 3,你就当作是调用一个叫 hanoi3 的函数,里面只有 else 分支里的三个语句,其中两句是调用 hanoi2。hanoi2 里面也只有 else 分支里的三个语句,其中两句是调用 hanoi1。hanoi1 却是只有 if 分支里的一个语句。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯