#include<stdio.h>
main()
{
hanoi(3,'A','B','C');
}hanoi(n,a,b,c)
int n;
char a,b,c;
{int i=1;
if(n==1) printf("%c=>%c\n",a,c);
else
{
hanoi(n-1,a,c,b);
printf("%c=>%c\n",a,c);
hanoi(n-1,b,a,c);
}
}
这里到底是怎么调用的。每一步是怎么执行的,小弟很是不懂!C递归
main()
{
hanoi(3,'A','B','C');
}hanoi(n,a,b,c)
int n;
char a,b,c;
{int i=1;
if(n==1) printf("%c=>%c\n",a,c);
else
{
hanoi(n-1,a,c,b);
printf("%c=>%c\n",a,c);
hanoi(n-1,b,a,c);
}
}
这里到底是怎么调用的。每一步是怎么执行的,小弟很是不懂!C递归
解决方案 »
- VSS2010中水晶报表老是报错
- 开发一个小的“开发工具”
- 如果您正处于进程当中 信息有可能丢失
- 获取combobox里的值后,如何通过button-click调出筛选的表格
- 有考过微软认证的吗?
- 求C#程序文件在DOS里运行的指令!
- 在WinForm中,如何在OnMouseDown事件中得到当前的键盘状态
- 问一个跟xsd有关的问题
- 如何在一个程序里,写一次处理错误的代码,就可以处理整个程序的全部错误,让它不会在运行时出错时退出?
- DataSet 显示
- 在同一个aspx页面中,放入两个reportview并分别绑定自己的RDLC和数据源,但是出错
- c#中, List序列化和反序列化的问题, 有一些细节不是很清楚, 请大神解答
先把逻辑搞明白。
如果脑子转不过来,就用一个小实例跟着代码走一遍看看,然后你可以玩玩hanoi塔的小游戏,加深理解。