关于汉诺塔的程序
请问汉诺塔当n==1时为什么它又变成了a,b,c不是重新给他赋值了吗?程序如下:
#include<stdio.h>
void hannuota(int n,char A,char B,char C)
{
if(n==1)
{
printf("将编号为%d的盘子直接从%c柱子移动到%c柱子\n",n,A,C);
}
else
{
hannuota(n-1,A,C,B);
printf("将编号为%d的盘子直接从%c柱子移动到%c柱子\n",n,A,C);
hannuota(n-1,B,A,C);
}
}
int main()
{
int n;
char ch1='E';
char ch2='F';
char ch3='G';
printf("请输入要移动盘子的个数:");
scanf("%d",&n);
hannuota(n,ch1,ch2,ch3);
return 0;
}