已知有函数f的定义如下: intf(){ static int s=0: s+=2: return S: } 则在某程序中第二次执行函数调用语句f();时,函数f的返回值是______

admin2012-12-29  28

问题 已知有函数f的定义如下:
    intf(){
        static int s=0:
        s+=2:
        return S:
    }
    则在某程序中第二次执行函数调用语句f();时,函数f的返回值是_____________。

选项

答案4

解析 此题考查的是局部静态变量。局部静态变量是在函数或语句块中以stalic关键字定义的局部变量。其作用域和普通局部变量一样只在定义函数或语句块中有效,但生存周期却是和全局变量一样,一直延续到程序结束。故第一次调用f(),局部静态变量s变为2。第二次调用f(),s又自增2,所以函数f的返回值是4。
转载请注明原文地址:https://kaotiyun.com/show/TgVp777K
0

最新回复(0)