Can someone explain this program? I especially want to know how parameters are passed to the tower function and how recursion works.
Here is the code:
#include<stdio.h> #include<conio.h> void main() { int n; clrscr(); printf("Enter the no. of disks"); scanf("%d",&n); tower(n,'S','D','T'); getch(); } tower(int n,char SOURCE,char DEST,char TEMP) { if(n>0) { tower(n-1,SOURCE,TEMP,DEST); printf("\nMove disk %d from %c to %c",n,SOURCE,DEST); tower(n-1,TEMP,DEST,SOURCE); } return; }
source share