c - 如何反转这个 for 循环的打印?

标签 c for-loop

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

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

最佳答案

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

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

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

关于c - 如何反转这个 for 循环的打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48691111/

相关文章:

java - 循环遍历二维数组(对角线)?

bash - 使用 tr 删除多个文件中的换行符?

python - 避免三个 for 循环

memcpy 或 memmove 可以返回与 dest 不同的指针吗?

c - 埃拉托色尼筛法 : SIGSEGV?

c - 如何在 Linux 中从 C 执行 shell 脚本?

ios - 如何从NSMutableArray设置实例变量?

c - C语言中main()函数的作用

C程序测量一条指令的执行时间

python - 如果找不到与列表匹配的任何内容,如何追加到列表中?