| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1506 人关注过本帖
标题:有大佬解释一下这个函数自己调用自己的过程以及putchar为什么输出的是最高位 ...
只看楼主 加入收藏
新手714
Rank: 1
等 级:新手上路
帖 子:50
专家分:3
注 册:2020-4-25
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:6 
有大佬解释一下这个函数自己调用自己的过程以及putchar为什么输出的是最高位
#include<stdio.h>
void convert(int n)
{
    int i,j;
    if ((i = n / 10)!= 0)
        convert(i);//就是这个递归的//
    putchar(n%10+'0');
}
int main()
{
    int number;
    printf("\nInput an integer:");
    scanf("%d", &number);
    printf("Output:");
    if (number < 0)
    {
        putchar('-');
        number = -number;
    }
    convert(number);
}
搜索更多相关主题的帖子: convert putchar int 函数 number 
2020-04-27 19:48
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:10 
你准备交卷
  你发现还有道题还没答
    你发现笔没水儿了
    你换笔或者灌水儿
  你答那道题
你交卷

你先调用了交卷函数,可是最后才交卷。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-04-27 22:42
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:0 
你换笔那里就是在输出最高位嘛

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-04-27 22:43
新手714
Rank: 1
等 级:新手上路
帖 子:50
专家分:3
注 册:2020-4-25
收藏
得分:0 
回复 2楼 forever74
为什么输出最高位以后还能输出上一位一直到个位
2020-04-27 23:22
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
收藏
得分:10 
回复 4楼 新手714
不管是不是递归,if后面的代码都得执行不是
2020-04-28 02:04
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:0 
你没考试经验啊?
换完笔不得回来答题啊?
答完题不得回来交卷啊?

这和输出最高位后
回来输出次高位
回来输出三高
回来输出四高

有啥区别?
你看到一个递归函数,就得在脑子里像上面一样,把它想象成多个函数,一个调用另一个,另一个调用另另一个,调用完回来接着走。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-04-28 12:22
新手714
Rank: 1
等 级:新手上路
帖 子:50
专家分:3
注 册:2020-4-25
收藏
得分:0 
回复 6楼 forever74
别整这些花里胡哨的,俺不懂,难道是putchar函数还能发现之前条件句计算的值它还没计算,然后把它还没计算的抓过来计算输出?
2020-04-29 09:56
快速回复:有大佬解释一下这个函数自己调用自己的过程以及putchar为什么输出的是 ...
数据加载中...
 
   



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

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