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条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?