问题
填空题
以下程序的输出是 【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的值不变。