目的:进一步理解静态局部变量的作用域和生命期。能够使用静态局部变量实现有趣的功能。
内容:定义全局变量g_var和函数staticVarFunc(),函数staticVarFunc()在第奇数次被调
用时,将g_var变为原来的一半。在偶数次调用时,将g_var变为原来的两倍。
要求:请根据以下代码中的函数雏形,实现函数staticVarFunc()的编写,以达到上述要求。
代码
#include <iostream>
using namespace std;
int g_var = 10;
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;
}
* 调用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;
}