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貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個贊
這就是“用模除,返回取余數(shù)”的遞歸調(diào)用函數(shù)實(shí)現(xiàn)。比如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的二進(jìn)制是1111。
- 1 回答
- 0 關(guān)注
- 803 瀏覽
添加回答
舉報
0/150
提交
取消