问题
单项选择题
有以下程序:
#include <stdio.h>
int fun()
static int x=1;
x*=2;return x;
main()
int i,s=1;
for(i=1;i<=3;i++)s=fun();
printf("%d\n",s);
程序运行后的输出结果是
A) 0
B) 1
C) 4
D) 8
答案
参考答案:D
解析: x被声明为静态变量,第一次调用fun()后,x的值为2,第二次调用时直接执行x*=2,值为4,第三次调用时直接执行x*=2,值为8。