首页 > 编程 > C > 正文

关于静态变量的使用

2023-06-05 11:58:41
字体:
来源:转载
供稿:网友

闲来无事在网上闲逛,看到百度知道有人问到一个关于静态变量的使用问题,感觉很经典放到这里与各位共享。原问题如下:

函数f定义如下,执行语句“sum=f(4)+f(2);”后,sum的值应为( )。为什么不是A,而是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开始仍为5,由于i<=m的条件已经为假,故不再执行,因此最终为10即C。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表