汉罗塔问题 按照网上讲的他跑的起来我跑不起来 显示逻辑错误

按照小甲鱼老师打的代码,n个圆盘从x按照汉罗塔规则移到z,并显示每次的操作
初学数据结构,不知道哪里出了错,请大佬们指教

void move(int n,char x,char y,char z)
{
    if(n==1)
    {
        printf("%c-->%c\n",x,z);
    }   
    else
    {
        move(n-1,x,z,y);
        printf("%c-->%c\n",x,z);
        move(n-1,y,x,z);
    }
}

int main(int argc, char *argv[])
{
    int n;
    scanf("%d",n);
    move(n,'X','Y','Z');
    return 0;
}

抱歉我智障了,居然忘记加&