问题 填空题

有以下程序:
#include <iostream>
using namespace std;
int f(int);
int main()

int i;
for(i=0;i<5;i++)
cout<<f(i)<<" ";
return 0;

int f(int i)

static int k=1;
for(;i>0;i--)
k+=i;
return k;

运行后的打印结果是 【9】

答案

参考答案:1 2 5 11 21

解析: 函数f()中定义了一个内部静态变量k,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤销,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。

单项选择题 A1/A2型题
判断题