| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 361 人关注过本帖
标题:局部静态存储变量的问题,请高手提点
只看楼主 加入收藏
超人会飞
该用户已被删除
收藏
已结贴  问题点数:10 回复次数:4 
局部静态存储变量的问题,请高手提点
提示: 作者被禁止或删除 内容自动屏蔽
2011-04-13 13:43
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:3 
static int f=1;

static int f;
f=1;
当然不一样呀,后者每次都给f赋1
2011-04-13 14:10
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:3 
根据临近原则,相当于每次都是f=1,然后再返回f*n的值。
PS:函数里的int i;似乎多余

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-13 15:34
Sliverwang
Rank: 2
等 级:论坛游民
帖 子:49
专家分:43
注 册:2011-4-1
收藏
得分:3 
因为static f=1 是每次都是给f赋值为1的
2011-04-13 15:51
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:3 
static声明的变量具有两个属性:
一个是存储在全局区域属性
一个是本文件连接属性

在楼主写的这个代码中的f是存储在全局区域中,在这个区域存储的变量它的生命周期是程序执行的整个过程,如果你不是每次都给它赋予一个你想要的值,这个变量就会保存上次调用时的值,这样就会达不到你想要的结果了!


愿用余生致力编程
2011-04-13 17:13
快速回复:局部静态存储变量的问题,请高手提点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059438 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved