void repeat(int m)
{
cout << m;
if (m>1)
{
repeat(--m);
cout << m << endl;
}
}
int main()
{
int h = 5;
repeat(h);
}
会什么会返回上一层 求详细
首先你的输出是: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;
所以,你要理解函数调用和返回其实是一个压栈和出栈的过程
在你原问题给你解释了呀。。。我在这里占坑得个分。。。
其实你可以单步调试一下,马上就明白了。
最好进行单步调试哎,自己不去尝试感受,描述似乎描述不清楚……