标题:版主快快来 递归问题
只看楼主
於晓琪123
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2014-11-4
结帖率:71.43%
已结贴  问题点数:20 回复次数:2 
版主快快来 递归问题
#include <iostream>
using namespace std;
void convert(int x);
int main()
{
    int a;
    cin>>a;
    convert(a);
    return 0;
}
void convert(int x)
{
    int i;
    char c;
    if ((i=x/10)!=0)
    {
        convert(i);                                 
        c = '0' + x%10;
        cout<<c;
    }
    else
    {
        c = '0' + x;
        cout<<c;
    }
}
我的问题有一点纠结   假如我输入589 那么首先输出的是else的5 然后是8然后是9  那么我的问题是 在输出5的时候,x的值不是5吗? 然后去运行 上面if里的
c = '0' + x%10; 觉得就应该不行了啊  但事实是做这一步运算的时候 x 的值是58   那么为什么先执行的x为5 没有影响后来X = 58,难道是在运行convert(i); 前就已经把58赋值个给convert(i);下面的x了   我想了好久就是想不通  求解释
搜索更多相关主题的帖子: include convert return 
2014-12-31 11:15
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:20 
你知道什么叫做形参么?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2014-12-31 11:46
於晓琪123
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2014-11-4
得分:0 
回复 2楼 peach5460
我貌似懂了       谢谢啦啦啦啦啦啦
2014-12-31 13:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440565-1-1.html




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

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