溪边树

象一棵树,栽在溪水旁。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

作业2 -- 静态局部变量

Posted on 2010-01-17 18:35  溪边树  阅读(125)  评论(0编辑  收藏  举报

目的:进一步理解静态局部变量的作用域和生命期。能够使用静态局部变量实现有趣的功能。

内容:定义全局变量g_var和函数staticVarFunc(),函数staticVarFunc()在第奇数次被调

        用时,将g_var变为原来的一半。在偶数次调用时,将g_var变为原来的两倍。

要求请根据以下代码中的函数雏形,实现函数staticVarFunc()的编写,以达到上述要求。 

 

代码

#include <iostream>
using namespace std;

int g_var = 10;

/****************************************
 *  函数staticVarFunc()的Prototype
 *  奇数次调用时,使全局变量变为原来的一半,
 *  偶数次调用时,使全局变量变为原来的两倍。
 ***************************************
*/
void staticVarFunc();

 
/***************************************
 *  调用staticVarFunc(),改变g_var的值
 **************************************
*/
int main()
{
    cout 
<< "g_var before function call is " << g_var << endl;

    
for (int i = 1; i <= 4; i++)
    {
        staticVarFunc(); 
        
// 第一次调用后,g_var = 5;第二次调用后,恢复为10
        cout << "g_var after function call " << i 
            
<< " is " << g_var << endl;
    }
    
return 0;
}