自己写的汉诺塔模型,输出错误

 ###### 问题遇到的现象和发生背景
我是一名C语言的初学者,学到递归的时候想写一个汉诺塔模型,输出是总是出现我没有定义的东西,请问有人可以帮忙看看吗?

 ###### 问题相关代码,请勿粘贴截图

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

void hanoi1(int n, char A, char B, char C)
{
    
    if (n == 1)
        move(1, A, C);
    else
    {
        hanoi1(n - 1, A, C, B);
        move(n, A, B);
        hanoi1(n - 1, B, A, C);
    }
}
move(int num, char A, char B)
{
    static int k = 1;
    printf("第%d步 : 盘子编号:%d %c ->%c\n", k, num, A, B);
    k++;
    if (k % 3 == 0)
        printf("\n");
}
int main()
{
    int n;
    printf("盘子个数:");
    scanf("%d", &n);
    printf("\n");
    hanoi1(n, "A", "B", "C");
    return 0;
}

 ###### 运行结果及报错内容

img

 ###### 我的解答思路和尝试过的方法
个人认为是move函数里打印一步的问题,但是和网上找到的这一步对比一下好像又差不多
参考的代码:printf("%2d:%3d # %c-%c\n", k, n, getone, putone);
对照了其他地方也没有发现问题

 ###### 我想要达到的结果
希望打印出盘子的拿取和放置的位置

改动处见注释,供参考:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void Move(int num, char A, char B)  //修改 move()
{
    static int k = 1;
    printf("第%d步 : 盘子编号:%d %c ->%c\n", k, num, A, B);
    k++;
    if (k % 3 == 0)
        printf("\n");
}
void hanoi1(int n, char A, char B, char C)  
{
    if (n == 1)
        Move(1, A, C);          //修改
    else
    {
        hanoi1(n - 1, A, C, B);
        Move(n, A, B);          //修改
        hanoi1(n - 1, B, A, C);
    }
}
int main()
{
    int n;
    printf("盘子个数:");
    scanf("%d", &n);
    printf("\n");
    hanoi1(n, 'A', 'B', 'C');  //hanoi1(n, "A", "B", "C");  修改
    return 0;
}