标题:一个不难的题,但不知道为什么!
取消只看楼主
kenvay
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-3-13
 问题点数:0 回复次数:2 
一个不难的题,但不知道为什么!
以下程序输出的最后一个值是__ __。
int ff(int n)
{ static int f=1;
f=f*n;
return f;
}
main()
{ int i;
for(i=1;i<=5;i++) printf("%d\n",ff(i));
}
标准答案为:120
请问为什么是120?设置了Static类型后,f的值每次调用时能变吗?
2006-03-28 10:06
kenvay
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-3-13
得分:0 

但重新调用ff函数时,f又重新被赋予1呀,这样循环5次,救不是阶乘了!
不是吗?

2006-03-28 10:50
kenvay
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-3-13
得分:0 
2006-03-28 11:00



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




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

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