弱弱的问一道题:怎样用递归算法写一个将二进制转换为十进制的程序?
怎样用递归算法写一个将二进制转换为十进制的程序?谢谢还有请推荐一些讲递归算法的文章或视频,这个我弄不大懂

程序代码:#include<stdio.h>
int bin_to_ten(int bin)
{
int ten = bin%2;
if(!(bin/=10))
return ten;
return ten += 2*bin_to_ten(bin);
}
int main()
{
int bin;
printf("请输入一个二进制数:");
scanf("%d",&bin);
printf("%d",bin_to_ten(bin));
return 0;
}