玛冉丽 2020-07-30 02:01 采纳率: 66.7%
浏览 99
已采纳

函数递归求一个数的二进制数报错

#include
#include
using namespace std;
void erjinzhi(int n)
{
if ((n / 2) != 0) {
erjinzhi(n / 2);
cout << n % 2;
}
else
cout << n;

}
int main()
{
cout<<erjinzhi(123);
return 0;
}
求问各位大神,为什么我这段程序不能用,报错原因是“没有与这些操作数匹配的<<运算符”,我应该怎么修改呢?我试图把上面void类型换成int,但是输出结果最后会多出一个0,所以希望有其他方法,跪求解答!!!

  • 写回答

4条回答 默认 最新

  • CrazyIdeas 2020-07-30 09:04
    关注

    应该 是 头文件的问题,你的erjinzhi 函数 也没有 返回值

    #include &lt; cstdlib &gt;
    #include &lt; iostream &gt;
    using namespace std;
    void erjinzhi(int n)
    {
    if ((n / 2) != 0) {
    erjinzhi(n / 2);
    cout << (n % 2);
    }
    else
    cout << n;
    
    }
    int main()
    {
    erjinzhi(123);
    return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?