C语言考试的一道题目

来源:百度知道 编辑:UC知道 时间:2024/09/19 16:33:43
#include <stdio.h>
int fac ( int i );/*该行的作用是:________________________*/
int main ()
{
int i=1, n;
scanf( "%d", &n) ;/*设输入的值为5*/
do
{
printf( "%d!=%d\n", i, fac( i ) );
i ++;/*在这里,语句“i++”和语句__________等价*/
}while( i <=n );
return 0;
}
int fac( int n )/*第3次调用该函数开始时,a的值为______。*/
{
static int a = 1; /*变量a的存储类型是_________________*/
a= a * n;
return a;
}/*第3次调用该函数结束时,a的值为______________

这是运行结果:
5
1!=1
2!=2
3!=6
4!=24
5!=120

由以上运行结果可以看出至少楼上两位答案都不完全对
1、函数声明
2、i=i+1或++i
3、第三次调用时a的值,也就是第二次结束时a的值,所以是2
4、静态变量(这里题目的意思应该是考察静态变量的值是如何变化的)
5、第三次调用结束时a的值是 6

声明函数int fac( int n )

i=i+1;

3

局部整型变量

3

函数声明
i=i+1;
2
静态变量
6