读书人

这是一道汉诺塔有关问题请教为什么运

发布时间: 2012-09-05 15:19:34 作者: rapoo

这是一道汉诺塔问题,请问为什么运行时不对
#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. 递归没有结束条件, 死循环.

读书人网 >C语言

热点推荐