标题:关于静态变量....
只看楼主
y218z903
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-7-27
 问题点数:0 回复次数:5 
关于静态变量....
int a=2;
int f(int n)
{
static int a=3;
int t=0;
if(n%2) {
static int a=4;t+=a++;
}
else {
static int a=5;t+=a++;
}
return t+=a++;
}
main()
{
int s=a,i;
for(i=0;i<3;i++) s+=f(i);
printf("%d",s);
} 答案是29 谁可以帮我解释下...这个答案是怎么得来的... 还有就是 执行了一次 static int a=3;
那么第二次循环是不是.不执行这句了? 

[此贴子已经被作者于2007-8-9 16:18:11编辑过]

搜索更多相关主题的帖子: int 变量 静态 static 
2007-08-09 16:17
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
第一个循环:s=2+0+5+3;
第二个循环:s=s+0+4+4;
第三个循环:s=s+0+6+5;

要练习算法就来http:///!!有挑战哦!!
2007-08-09 16:34
y218z903
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-7-27
得分:0 
谢谢!!!

2007-08-09 16:41
leeldy
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-8-2
得分:0 
回复:(y218z903)关于静态变量....
这是分部调试结果,一起分析啊~~~

[此贴子已经被作者于2007-8-9 16:49:32编辑过]


↑↑↑↑↑↑↑↑如果我错了,请改正我的错误↑↑↑↑↑↑↑↑

2007-08-09 16:49
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
如果你明白了class中static成员变量的工作原理,这个你就很清楚了!!

要练习算法就来http:///!!有挑战哦!!
2007-08-09 16:52
leeldy
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-8-2
得分:0 
明白了,哈哈~~~

↑↑↑↑↑↑↑↑如果我错了,请改正我的错误↑↑↑↑↑↑↑↑

2007-08-09 16:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-161521-1-1.html




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

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