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);
}
}
的在这个编码我是用递归调用,以及如何将人物和 整数的函数调用进行处理,任何人都可以用一个简单的演示说明很困惑。不清楚这个汉诺塔递归调用
重命名你瓦尔更好的东西,并试图搞清楚:N = number_of_plates,X = first_tower,Y = second_tower,Z = third_tower。 – RedX
也 - 不应该主要的呼叫是'TOH(n,'A','B','C');'? –
@ItayKaro编辑! thinx – Dineshdk