帮我纠下错!都试了N编了
#include "stdio.h"main()
{
hanoi(3,'A','B','C');
}
hanoi(n,a,b,c)
int n;
char a,b,c;
{
if(n==1)printf("%c=>%c\n",a,c);
else
{
hanoi(n-1,a,c,b) ;
printf("%c=>%c\n",a,c);
hanio(n-1,b,a,c);
}
}
运行的时候老出现
----------------解决方案--------------------------------------------------------
hanoi()定义在哪里?
----------------解决方案--------------------------------------------------------
说具体点,那应该说哪个类型来定义?
----------------解决方案--------------------------------------------------------
两个函数的返回类型都没有,再就是楼上说的没定义hanoi()
----------------解决方案--------------------------------------------------------
如果你在hanoi.h中定义了hanoi()函数,至少头文件中应该
#include <hanoi.h>
吧。
----------------解决方案--------------------------------------------------------
看不明白
----------------解决方案--------------------------------------------------------
额 不知所云
谁在原函数上修改下?急
----------------解决方案--------------------------------------------------------
看起来象函数递归....
不过我不是很明白...
----------------解决方案--------------------------------------------------------
#include "stdio.h"
void hanoi(int n, char a, char b, char c)
{
if(n==1)printf("%c=>%c\n",a,c);
else
{
hanoi(n-1,a,c,b) ;
printf("%c=>%c\n",a,c);
hanoi(n-1,b,a,c); //这行写错了不是hanio
}
}
int main(void)
{
hanoi(3,'A','B','C');
return 0;
}
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]712712712[/underline][/bold] 于 2007-12-24 17:16 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1159172&ptid=194066][/url]
#include "stdio.h"
void hanoi(int n, char a, char b, char c)
{
if(n==1)printf("%c=>%c\n",a,c);
else
{
hanoi(n-1,a,c,b) ;
printf("%c=>%c\n",a,c);
hanoi(n-1,b,a,c); //这行写错了 ...
#include "stdio.h"
void hanoi(int n, char a, char b, char c)
{
if(n==1)printf("%c=>%c\n",a,c);
else
{
hanoi(n-1,a,c,b) ;
printf("%c=>%c\n",a,c);
hanoi(n-1,b,a,c); //这行写错了 ...
哇,厉害 终于讲出了重点,现在好了,谢谢!
不过原程序是对的,只是由于疏忽写错了调用函数名字!!
[[italic] 本帖最后由 wangchaowushang 于 2007-12-24 17:26 编辑 [/italic]]
----------------解决方案--------------------------------------------------------