新手求教 这个程序怎么写

计算用户在主函数中输入的整数有多少位数,并使用递归函数和全局变量来重新编写主函数中输出的程序。
图片说明
翻译如下:
输入常数:123456
位数的个数:6
。。。。

输入常数:5246
位数的个数:4
.。。。。

输入常数:123456789
位数的个数:9
.。。。。。
感谢!!

#include <iostream>
using namespace std;

int dig;

void recur(int n)
{
    if (n / 10 == 0)
        dig = 1;
    else
    {
        recur(n / 10);
        dig++;
    }
}

int main()
{
    int n;
    cout << "输入常数:";
    cin >> n;
    dig = 0;
    recur(n);
    cout << "位数的个数:" << dig << endl;
    return 0;
}