代码如下:
#include<stdio.h>
#include<math.h>
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);
}</math.h></stdio.h>
您可能感兴趣的文章:C语言递归操作用法总结C语言二叉树的非递归遍历实例分析C语言的递归思想实例分析纯C语言:递归最大数源码分享纯C语言:递归组合数源码分享C语言使用普通循环方法和递归求斐波那契序列示例代码c语言版本二叉树基本操作示例(先序 递归 非递归)C语言函数的递归和调用实例分析对C语言中递归算法的深入解析使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法C语言程序中递归算法的使用实例教程
源码分享
二进制
C语言
递归
源码
十进制
进制