感觉两种写法的意义是相同的 为什么最后结果不一样呢 xdm看看哈thx

第一种


#include<stdio.h>
void print(int t)
{
    if (t > 9)
    {
        t = t / 10;
        print(t);
    }
    printf("%d ", t % 10);
}

int main()
{
    int i;
    scanf("%d", &i);
    print(i);
    return 0;
}






#include<stdio.h>
void print(int t)
{
    if (t > 9)
    {
        print(t/10);
    }
    printf("%d ", t % 10);
}

int main()
{
    int i;
    scanf("%d", &i);
    print(i);
    return 0;
}

两种只在第七行和第32行有区别 但感觉意义是相同的但最后输出结果确不一样:
第一种 输入1234 输出 1 1 2 3
第二种 输入1234 输出 1 2 3 4 正确的
这是为什么呢?