问题 填空题

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

判断题
单项选择题