C语言 请教一下下面程序的其中一段是怎么执行的? 25
这是C语言书上的一个例题(Hanoi塔问题)我就想问一下else里面的两个调用函数语句在输入的h大于2以上是怎么执行的,我都看蒙了,一直搞不懂。请教一下大神。如能解答,万...
这是C语言书上的一个例题(Hanoi塔问题)
我就想问一下else里面的两个调用函数语句在输入的h大于2以上是怎么执行的,我都看蒙了,一直搞不懂。请教一下大神。如能解答,万分感谢!!
# include<stdio.h>
void move(int n,int x,int y,int z)
{
if(n==1)
printf("%c--->%c\n",x,z);
else
{
move(n-1,x,z,y);
printf("%c--->%c\n",x,z);
move(n-1,y,x,z);
}
}
int main(void)
{
int h;
printf("\ninput number:\n");
scanf("%d",&h);
printf("the step to moving %2d diskes:\n",h);
move(h,'a','b','c');
return 0;
} 展开
我就想问一下else里面的两个调用函数语句在输入的h大于2以上是怎么执行的,我都看蒙了,一直搞不懂。请教一下大神。如能解答,万分感谢!!
# include<stdio.h>
void move(int n,int x,int y,int z)
{
if(n==1)
printf("%c--->%c\n",x,z);
else
{
move(n-1,x,z,y);
printf("%c--->%c\n",x,z);
move(n-1,y,x,z);
}
}
int main(void)
{
int h;
printf("\ninput number:\n");
scanf("%d",&h);
printf("the step to moving %2d diskes:\n",h);
move(h,'a','b','c');
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询