试题与答案

下面程序的运行结果是 【8】 #include <iostream> usin

题型:填空题

题目:

下面程序的运行结果是 【8】
#include <iostream>
using namespace std;
int fun(int n)

static int m = 2;
m=m+n;
return m;

int main ( )

int a = 3, b = 4;
int x;
x = fun( a );
x = fun( b );
cout<<x<<end1;
return O;

答案:

参考答案:I

解析: 本题主要考察C++中变量的存储类别及其生存周期。函数fun()中的变量m被定义为静态static变量,即为局部静态变量,其特点是只在函数内部可见,但存储在全局数据区,函数执行过后变量仍存在。
主函数第一次调用fun()函数后,将实参a=3赋值给形参n,因此返回值为:x=m= m+n=2+3=5。主函数再次调用fun()函数时,由于m存储在全局数据区,因此其值仍然为5,由此得到此次返回值:x=m=m+n=5+4=9。
因此程序的最后输出为9。

试题推荐
微信公众账号搜索答案