问题 单项选择题

以下程序运行后的输出结果是 #include<stdio.h> int fun() { static int x=1;x*=2; return x; } main() { int i, s=1;for(i=1; i<=2; i++) s=fun();printf("%d\n", s); }

A.0

B.1

C.4

D.8

答案

参考答案:C

解析: 本题考查静态存储变量。在函数fun中,静态变量x始终占据存储空间,并且只赋一次初值。第一次调用函数fun时,x被赋初值为1,返回x值为2;第二次调用函数fun时,x初值仍为2,返回x的值为4。所以,程序输出结果为4。

单项选择题
填空题