首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库编程技术C/C++

关于静态变量的使用

减小字体 增大字体 作者:biye5u.com  来源:本站原创  发布时间:2011-10-12 22:04:46

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

函数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。

Tags:变量 static

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

            请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

         通知管理员 验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们 |
本站大多数内容来自互联网或网站会员发布,如有侵权,请来信告之,谢谢!
Copyright © 2007-2017 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3