void repeat(int m)
{
cout << m;
if (m>1)
{
repeat(--m);
cout << m << endl;
}
}
int main()
{
int h = 5;
repeat(h);
}
返回是输出1-5
求 1-5的数字是怎么存的怎么来的
这个判断 if (m>1),就会执行repeat(--m);
你输入5 然后执行repeat(5),输出5,然后就会到if语句中,repeat(--m)执行之后先m自减1,再进入repeat(4),执行的就是4了,就这样一直到1,因为1不是大于1,所以返回上一层,一直返回到最上层,最上层不是执行到repeat(5)了么,再向下执行cout << m << endl,输出1
void repeat(5)
{
cout << 5;
if (m>1)
{
// repeat(4)
//{
cout << 4;
if (m>1)
{
repeat(3);
cout << 3 << endl;
}
//}
cout << m << endl;
}
}
就相当于这样表示