【重要!!!】第14题:考查静态变量的知识
#include <stdio.h>
int counter (int i)
{
static int count =0;
count= count +i;
return(count );
}
void main()
{
int i , j;
for(i=0; i <=5; i++)
j= counter(i);
}
本程序执行到最后,j的值是:
(a)10 (b) 15 (c) 6 (d) 7
解答:
这道题考查的是静态变量的知识,当每次调用完函数之后,静态变量的值不会丢失,这与栈中的临时局部变量明显不同的地方.
所以,第一次调用counter(0)之后,count=0
第二次调用 counter(1)后count= 0+1;
第三次调用 counter(2)count = 1+2; /* count = count +i */
第四次调用 counter(3)count = 3+3;
第五次调用 counter(4)count = 6+4;
第六次调用 counter(5)count = 10+5;