新手菜鸟,哪位大神帮忙解释一下这个程序

#include
void dec2n(int x,int n)
{

if(x>=n)dec2n(x/n,n);
if(x%n>9)printf("%c",x%n+55);
else printf("%d",x%n);
}
int main()
{
int x,n; //将10进制数x转换为n进制数
scanf("%d%d",&x,&n);
dec2n(x,n);
return 0;
}

if(x>=n)dec2n(x/n,n)是递归求n进制的每一位,if(x%n>9)如果这是一个大于十进制的进制,那么把超过10的位替换成字母)printf("%c",x%n+55),没超过10的位原样输出else printf("%d",x%n);

不就是一个进制转换的方法类吗