问题 填空题

下列程序的运行结果是 【17】
main()
int i;
for(i=1;i<=5;i++)
f(i);
f(j)
int j;
static int a=1000;
auto int k=1;
++k;
printf("%d+%d+%d=%d\n",a,k,j,a+k+j);
a+=10;

答案

参考答案:100+2+1=103
110+2+2=114
120+2+3=125
130+2+4=136
140+2+5=147

解析:[命题目的] 考查静态局部变量和自动变量的特点。
[解题要点] 静态局部变量的生存期为整个程序的运行期间,而作用域为定义该变量的函数或局部范围。自动变量的建立和撤销都是由系统自动进行的,所以称为自动变量。自动变量的作用域和生存期都为定义它的局部范围内。对同一函数的两次调用之间,自动变量的值是不保留的。而静态变量则保留。
[考点链接] 局部变量和全局变量的定义及其作用范围。

单项选择题
单项选择题 A型题