• 这个递归函数(十进制转化为二进制)运行的结果为什么会在预期的结果前加0
  • 其它
    1.00元

#include<iostream>
using namespace std;
void f(int i)
{
    if(i>0){
         if(i>0) f(i/2);
         cout<<i%2;
    }
    else if(i<0){
         if(-i>0) f(i/2);
         cout<<(-i)%2;
    }
    else cout<<i;
}

int main( )
{      
    f(5);     cout<<'\n';
    f(-23);   cout<<'\n';
    f(0);     cout<<'\n';

    return 0;
}

我预期的结果101;10111;0
运行的结果0101;010111;0


  • vicky    2020-03-24 11:01:57
  • 阅读 600    收藏 0    回答 1
  • 邀请
  • 收藏
  • 分享
发送
登录 后发表评论
  • 51testing软件测试圈微信