函数f定义如下,执行语句“sum=f(4)+f(2);”后,sum的值应为( )。
为什么答案选C呢?
int f(int m)
{
static int i=0;
int s=0;
for(;i<=m;i++)
s+=i;
return s;
}
A、13
B、16
C、10
D、8
解答:
因为i为静态变量,静态变量的值从第一次使用而创建,到程序结束时才释放内存,因为在调用f(4)后,i已经为5,当在调用f(2)时,由于i<=m的条件已经为假,故不再执行,因此最终为10即C,
新闻热点
疑难解答