| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 793 人关注过本帖
标题:二进制的递归
只看楼主 加入收藏
kuaisha
Rank: 2
等 级:论坛游民
帖 子:120
专家分:30
注 册:2016-8-3
结帖率:100%
收藏
 问题点数:0 回复次数:1 
二进制的递归
程序代码:
int main(viod)\
{
    unsigned long number;
    printf("输入一个整数 (q 退出):");
    while(scanf("%ul",&number)==1)
    {
        printf("二进制:");
        to_binary(number);
        putchar('\n');
        printf("输入一个整数 (q 退出):");
    }
    printf("完成.\n");
    
    return 0;
} 

void to_binary(unsigned long n)
{
    int r;
    r = n % 2;
    if(n>=2)
       to_binary(n/2);
    putchar('0'+r);
    
    return;
}

输入9,然后进入递归,if完成4次后,为什么是return反而跳到putchar('0'+r);,return;不是返回一个值给to_binary吗,那应该跳到to_binary才对。
搜索更多相关主题的帖子: 二进制 递归 printf 输入 return 
2017-09-23 15:42
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
函数没有返回值,只是取二进制各位入栈再出栈输出。
2017-09-23 16:24
快速回复:二进制的递归
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025766 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved