#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int n;
void towers(int n,char from, char to,char aux);
clrscr();
printf("\n\t\t PROGRAM FOR TOWERS OF HANOI");
printf("\n\nEnter The Total number of Disks : ");
scanf("%d",n); towers(n,'A','C','B');
getch();
}
void towers(int n,char from,char to, char aux)
{
if(n==1)
{
printf("\nMove disk 1 from %c peg to %c peg",from,to);
return;
}
towers(n-1,from,aux,to);
printf("\n Move disk %d from %c peg to %c peg",n,from,to);
towers(n-1,aux,to,from);
}
答案 0 :(得分:1)
使用
的scanf( “%d”,&安培; N);
而不是
的scanf( “%d”,N);
因为它需要scanf函数的变量n的地址来存储该值。 所以,该地址是通过&amp; n。
指定的答案 1 :(得分:0)
将scanf("%d",n)
替换为scanf("%d",&n)
,将指针传递给scanf
应放置结果的位置。