2016-08-11 3 views
-3
#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); 
} 
+3

Пожалуйста, нажмите на ссылку редактирования и соответствующим образом форматируйте свой вопрос. Также добавьте фактический вопрос, возможные сообщения об ошибках и т. Д. Вы можете увидеть в предпросмотре, как выглядит ваш вопрос, пожалуйста, проверьте его перед публикацией. –

+0

Приведено сообщение об ошибке, предоставленное вашим компилятором. Поэтому, пожалуйста, включите его в свой вопрос. – ForceBru

ответ

0

Заменить scanf("%d",n) с scanf("%d",&n), передать указатель на место, в котором scanf должен поместить результат.

0

Применение

зсапЕ ("% d", & п);

вместо

зсапЕ ("% D", п);

потому что для сохранения значения требуется адрес переменной n функции scanf. так, этот адрес указан через & n.