以下程序输出的最后个值是【 】 int ff(int n) { static int f=1; f=
以下程序输出的最后个值是【 】 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
静态变量的类型说明符是static,静态局部变量属于静态存储方式,它具有以下特点:静态变量的类型说明符是static,静态局部变量属于静态存储方式,它具有以下特点:①静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。②对静态局部变量是在编译时赋初值的,即只赋初值—次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。③如在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。(注意:C语言中非静态变量在定义时,系统并不会自动给它赋初值)④虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。本题中函数的功能是:与for语句一起求一个整数的阶乘。
相似问题
在我国 国家监督的基本形式 包括()A. 权力机关的监督B. 行政机关的监督C. 司法机关的监督D.
在我国,国家监督的基本形式,包括()A 权力机关的监督B 行政机关的监督C 司法机关的监督D 新闻媒体的监督
以下程序的功能是输出字符串。请填空。 main( ) { char * a[]={'Pascal'
以下程序的功能是输出字符串。请填空。 main( ) { char * a[]={"Pascal" ,"C language","dbase","Cobol"}; char【 】 ; int j=0; p
以下程序段用以统计链表中元素的个数。其中first指向链表第一个结点 count用来统计结点个数。请
以下程序段用以统计链表中元素的个数。其中first指向链表第一个结点,count用来统计结点个数。请填空。 struct link { char data; struct link
以下函数的功能是计算s=1+1/2!+1/3!+…+1/n! 请填空。 double fun(int
以下函数的功能是计算s=1+1 2!+1 3!+…+1 n!,请填空。 double fun(int n) { double s=0 0 ,fac=1 0; int i,k=1; for(i=1;i<=n;i++); {
有法律约束力的法律解释包括()A. 学理解释B. 立法解释C. 司法解释D. 行政解释
有法律约束力的法律解释包括()A 学理解释B 立法解释C 司法解释D 行政解释
