代码如下 if (n / 2)//余数大于零,还可以继续除, to_b(n / 2);//继续递归 printf("%d", n % 2);//当不为零时则进行模2进行输出 当然也可以写成这样 void to_b(unsigned long n) { unsigned long r; r = n % 2; if (n >= 2) to_b(n / 2); putchar(r ? '1' : '0'); return; } 道理一样输出的时字符串