void ha(int n,char A[],char B[],char C[])
{
if(n==1)
printf("Disc %d move : %s->%s",n,A,C);
else
{
ha(n-1,A,C,B);
printf("Disc %d move : %s->%s",n,A,C);
ha(n-1,B,A,C);
}
}
함수 호출 ha(3,"left","middle","right");
이러한 하노이 탑 코드가 있는데 재귀함수가 익숙하지가 않아서 어떠한 순서대로 어디를 거쳐서 가는지 세세한 과정을 몰라서 이해가 잘 가질 않습니다.
함수대로 라면 n자리에 3이 가서 else부분으로 가서 재귀함수를 두번 쓰게되는데 그사이에 출력이 언제되는지도 잘 모르겠고, 구조자체가 잘 이해가 가지않는 것 같습니다. 고수분들이 자세히좀 알려주시면 감사하겠습니다.