#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();
}

程序分析题:阅读程序后,填写程序的正确运行结果。


#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()时,在这个值上进行累加。


Top