一个不难的题,但不知道为什么!
以下程序输出的最后一个值是__ __。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

2006-03-28 10:29
但重新调用ff函数时,f又重新被赋予1呀,这样循环5次,救不是阶乘了!
不是吗?
2006-03-28 10:50
2006-03-28 10:56
2006-03-28 11:00

2006-03-28 11:08

2006-03-28 11:20