首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这是一道汉诺塔有关问题,请教为什么运行时不对

2012-09-05 
这是一道汉诺塔问题,请问为什么运行时不对#include stdio.hvoid move(char s,char d){printf(\nmove to

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

热点排行