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

admin2009-06-20  27

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

选项

答案4

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

最新回复(0)