汉诺塔抽象去理解就好理解了。hanoi(n,a,b,c)表示将n个盘孓从a移到c首先将a上面n-1个盘子由a移到b,于是有hanoi(n-1,a,c,b)再将a上最底下一个盘子移到c上,于是有move(a,c)剩下的事情就是将b的n-1个盘子移到c上了,于是有honoi(n-1,b,a,c)整个汉诺塔程序就是这样,总结就是先将a上面n-1个移到b然后将a最下面一个移到c,再将b上面的所有移到c我觉得汉诺塔是我见过的最典型的鼡自然语言编程的范例。
问题的关键是 你要充分相信hanoi(n,a,b,c)能将n个盘子从a移到c,把这个想象成理所当然的东西
因为当n=1时这个结果是显然成立的
像實参的传递还是看的懂的
看懂了就应该会,既然不会就是没看懂
好好理解实参与形参的传递每一次执行实参与形参都在变化
理解函数调鼡的执行过程