这是一道汉诺塔问题,请问为什么运行时不对
#include <stdio.h>
void move(char s,char d){
printf("\nmove top frome %c to %c",s,d);
}
void han(int n,char a,char b,char c){
if(n==1)
move(a,c);
else
han(n-1,a,c,b);
move(a,c);
han(n-1,b,a,c);
}
void main(){
int n;
char a,b,c;
printf("请输入圆盘的个数:");
scanf("%d",&n);
printf("移动%d个圆盘从a到c\n",n);
han(n,a,b,c);
}
[解决办法]
1. a, b, c 没有初始化
2. 递归没有结束条件, 死循环.