C++语言程序设计

该程序调用递归函数，以相反的顺序打印出5个输入的整数（递归函数下面我们将要讲到）。
（1）程序中reverse( i )是递归函数，首先从main函数开始执行，在main函数中调用reverse( i )，而此时i=5，因为5>1，因此执行
cin<<num;
reverse(n-1);
由外界输入一整数值，调用reverse(4)。将reverse(5)进栈。

| 图5-3

（2）将reverse(4)进栈，因为4>1，调用reverse(3)。

| 图5-4

（3）将reverse(3)进栈，因为3>1，调用reverse(2)。

| 图5-5

（4）将reverse(2)进栈，因为2>1，调用reverse(2)。

| 图5-6

（5）将reverse(1)进栈，因为1<=1，因此执行
cin>>num;
cout<<"Reverse numbers"<<endl;
cout<<num<<endl;

| 图5-7

（6）将reverse(1)出栈，打印num值。
（7）将reverse(2)出栈，打印num值。
（8）将reverse(3)出栈，打印num值。
（9）将reverse(4)出栈，打印num值。
（10）将reverse(5)出栈，打印num值。
（11）main()函数结束。