如何反转此for循环的打印?

时间:2018-02-08 17:11:11

标签: c for-loop

for (n=number; n > 0; n=n/2)
{
    if (n % 2 == 0)
        printf ("0");
    else 
        printf ("1");
}

这是我的代码的一部分。我已经提示用户输入一个分配给数字的整数,我想打印整数的二进制转换。然而;目前我的代码以反向打印二进制数字(即当我输入56时,它打印000111对111000)。如何让它反向打印?

1 个答案:

答案 0 :(得分:0)

有多种方法可以打印等价于整数的二进制文件。

以下是我使用递归的解决方案。

  void call (int n ) {
            if (n > 0 ){
                    call(n/2);/* to prints in reverse order */
                    if(n%2 ==0 )
                            printf ("0");
                    else  
                            printf ("1");
            }
    }