C将10进制转成2进制(递归)

来源:互联网 发布:数据保护线缠绕解 编辑:程序博客网 时间:2024/04/30 14:09
#include <stdio.h>void to_binary(unsigned long n);int main (void){    unsigned long number;    printf("Enter an integer (q to quit): \n");    while(scanf("%ul", &number) == 1)    {        printf("Binary equivalent:");        to_binary(number);        putchar('\n');        printf("Enter an integer (q to quit):\n");    }    printf("Done.\n");    return 0;}void to_binary(unsigned long n){    int r;    r = n % 2;    if(n >= 2)        to_binary(n/2);    //putchar('0'+r);    putchar(r ? '1' : '0');    return;}



请注意:能用循环不用递归!!!递归效率低下!