问题
填空题
以下程序的输出是 【8】 。
#include<iostream>
using namespace std;
fun(intm)
static int n=1;
n=m*n;
return(n);
void main()
int i;
for(i=1;i<=3;i++) cout<<fun(i);
答案
参考答案:126
解析: 局部静态变量在离开作用域之后,并没有被销毁,而是仍然驻留在内存当中,直到程序结束。第一次调用 fun 函数时n的值等于1,第二次调用 fun 函数时n的值等于2,第三次调用 fun 函数时n的值等于6,每次调用 fun 函数时,保留上次调用时n的值不变。