【发布时间】:2016-01-15 06:15:14
【问题描述】:
我将如何在 C 中编写一个递归解决方案来做到这一点? 比如我输入9,应该输出00001001
【问题讨论】:
-
抱歉,错字已修复
-
通常当我写代码时——我坐在键盘前。挖我的鼻子,抓挠我的坚果。狂欢一下。当我遇到困难时,我会发布我到目前为止所写的内容并寻求帮助
我将如何在 C 中编写一个递归解决方案来做到这一点? 比如我输入9,应该输出00001001
【问题讨论】:
#include <stdio.h>
#include <stdint.h>
void p(uint8_t n, int times){
if(times){
p(n >> 1, times-1);
putchar("01"[n & 1]);
}
}
void print_bin8(uint8_t num){
p(num, 8);
}
int main(void){
print_bin8(9);
return 0;
}
【讨论】: