请问为什么输出从0开始呢

#include <stdio.h>
void fun(int n)
{if(n) fun(n-1);
printf("%d",n);
}
main()
{fun(5);}

分析一个,最初n = 5, 调用fun函数, 执行里面的函数体, if条件判断成立, 调用fun( 5 - 1), 即fun(4), 一直循环下去, 直到当n = 0时, if判断不成立,直接执行下面的操作, 输出n = 0, 然后回到上一步, 输出1
有用请采纳