纯C语言:递归二进制转十进制源码分享

#include
#include
int change(int n,int *sum,int *m)//n为第n位,m总位数
{
    char c;
    if(c!='#')
    {
        *m=*m+1;
        change(n+1,sum,m);
    }
    if(c=='#')
    {
        return *sum=int(*sum+pow(2,*m-n));
    }
}
void main()
{
    char c;
    int n=0,*sum=0,*m=0;
    printf("请输入二进制数(‘#'开始与结束):");
    scanf("%c",c);
    int t=change(n,*sum,*m);
    printf("转化成十进制的数字为:%d",t);
}

你可能感兴趣的:(纯C语言:递归二进制转十进制源码分享)