kbhao7788 2017-02-11 11:01 采纳率: 0%
浏览 1084
已采纳

c++ 递归问题求答案。。。。。。。。

void repeat(int m)
{
cout << m;
if (m>1)
{

    repeat(--m);
    cout << m << endl;
}

}
int main()
{

int h = 5;
repeat(h);

}
会什么会返回上一层 求详细

  • 写回答

4条回答 默认 最新

  • 凌夜望天涯 2017-02-21 02:54
    关注

    首先你的输出是:543211234
    首先传入m=5
    {
    输出5
    传入m=4
    {
    输出4
    传入m=3
    {
    输出3
    传入m=2
    {
    输出2
    传入m=1
    {
    输出1
    m>1为假
    return;
    }
    输出1
    return;
    }
    输出2
    return;
    }
    输出3
    return;
    }
    输出4
    return;
    }
    return;
    所以,你要理解函数调用和返回其实是一个压栈和出栈的过程

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 深度学习残差模块模型
  • ¥20 两个不同Subnet的点对点连接
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)