填空题 有以下程序: #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; } 运行后的打印结果是{{U}} {{U}} {{/U}} {{/U}}。
  • 1、
【正确答案】 1、1 2 5 11 21    
【答案解析】[解析] 函数f()中定义了一个内部静态变量k,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤销,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。