单选题
有以下程序
#include <iostream>
int i = 0;
void fun( )
static int i = 1;
std::cout<<i++<<',';
std::cout<<i<<',';
int main()
fun(); fun();
return 0;
程序执行后的输出结果是
-
-
-
-
【正确答案】
D
【答案解析】[解析] 本题考核变量的作用域、生存周期和存储类别(自动、静态、存储器、外部)。题中即定义全局变量i,又在函数fun内部定义了局部静态变量i, 当进入函数fun里面的大括号时,局部静态变量i有效,所以输出1,然后局部静态变量i加1,出了里面的大括号后,全局变量i有效,所以输出0。同理,第二次调用fun后,输出2和0。