C语言递归调用相关问题

#咨询下我写的这个递归调用函数的返回值问题

要解决的问题如下图

img

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int convert(int n);

int main()
{

    int number;
    scanf("%d", &number);
    convert(number);



}

int convert(int n)
{
    int i;
    i = n / 10;
    if (i != 0)
    {
        i=convert(i);
    }
    putchar(n % 10 + '0');
    printf("\t");



}

这是我自己写的递归函数,一开始没仔细思考时写了出来,没想到真的能运行成功,但不知道原理= =
我在调试时发现,每次convert(i)的返回值都是1,这是为什么?

你这函数些的也不行啊,返回值类型是int,可你连个return语句都没有。那i=convert(i)时,返回的i是个不确定的值