#include<stdio.h>


void HanoiTowerMove(int num, char from, char by, char to)

{

    if (num == 1)

    {

        printf("원반1을 %c에서 %c로 이동\n", from, to);

    }

    else {

        HanoiTowerMove(num - 1, from, to, by);

        printf("원반%d을(를)%c에서 %c로 이동\n", num, from, to);

        HanoiTowerMove(num - 1, by, from, to);

    }

}


int main(void)

{

    HanoiTowerMove(3, 'a', 'b', 'c');

    return 0;

}


Hanoi 함수가 메인에서 값 num값 3을 받고  if문 수행하면 num==1이 아니니까 else부터 수행되야 되는거 아님?


근데 실행하면 

원반1을 a에서 c로 이동

원반2을(를)a에서 b로 이동

원반1을 c에서 b로 이동

원반3을(를)a에서 c로 이동

원반1을 b에서 a로 이동

원반2을(를)b에서 c로 이동

원반1을 a에서 c로 이동


if문 부터 실행되던데 왜 이런거임?