C++语言程序设计

| 例5-11

int Normalize (void)
{ //... }
int Solve (void)
{ //...
Normalize();
//...
}
int main (void)
{
//...
Solve();
//...
}

main、Solve和Normalize函数在栈中的内存分布如下：

| 图5-1 执行Normalize时的栈内存分布

应该注意到：调用一个函数，涉及到为该函数在栈中分配内存和释放内存的开销。对于大多数的函数而言，同函数的实际计算量相比可以忽略不计。

| 例5-12

#include <iostream.h>
void reverse(int n)
{
int num;
if(n<=1)
{
cin>>num;
cout<<"Reverse numbers"<<endl;
cout<<num<<endl;
}
else
{
cin>>num;
reverse(n-1);
cout<<num<<endl;
}
}
void main()
{
int i;
i=5;
cout<<"Enter number"<<endl;
reverse(i);
}