程序分析题:阅读程序后,填写程序的正确运行结果。
#include<iostream>
using namespace std;
void fun()
{
static int n=25;
n--;
cout<<"n="<<n<<endl;
}
void main()
{
for(int i=0;i<=2;i++)
fun();
}
【正确答案】:
N=24
N=23
N=22
【题目解析】:
使用static修饰的局部变量是静态局部变量,即定义在块中的静态变量。静态局部变量具有局部作用域,但却具有全局生存期。即静态变量在退出函数后并不消失,所以下次再进入fun()时,在这个值上进行累加。