问题
单项选择题
以下程序运行后的输出结果是 #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。