【发布时间】:2013-09-28 04:33:07
【问题描述】:
void TOH(int n,char x,char y,char z);
void main()
{
int n;
printf("nEnter number of plates:");
scanf("%d",&n);
TOH(n,'A','B','C');
getch();
}
void TOH(int n,char x,char y,char z)
{
if(n>0)
{
TOH(n-1,x,z,y);
printf("n%c -> %c",x,y);
TOH(n-1,z,y,x);
}
}
在这种编码中,我对递归调用以及字符和 整数是在函数调用中处理的,谁能用一个简单的演示来解释一下。
【问题讨论】:
-
将您的 vars 重命名为更好的名称并尝试弄清楚:n = number_of_plates, x = first_tower, y = second_tower, z = third_tower。
-
另外 - main 中的调用不应该是
TOH(n,'A','B','C');吗? -
@ItayKaro 已编辑!谢谢
标签: c algorithm function recursion