void change(int x,int r){ if(x!=0){ change(x/r,r);printf("%d",x%r);}}main(){int x,r; printf("\n input x and r:");scanf("%d%d",&x,&r); change(x,r); }
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
这就是“用模除,返回取余数”的递归调用函数实现。比如x是15,r是2,则——
15/2==7-->7/2==3-->3/2==1-->1/2==0,然后由printf输出——
1%2==1
3%2==1
7%2==1
15%2==1-->递归完成,所以打在屏幕上就是1111,也就是15的二进制是1111。
- 1 回答
- 0 关注
- 736 浏览
添加回答
举报
0/150
提交
取消