单选题
有以下程序:
#include
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);
}
程序的运行结果是( )。
【正确答案】
D
【答案解析】解析:本题中静态局部变量x,在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第1次循环s的值为2;第2次循环中,返回的x值为4,所以s的值为8;第3次循环,返回的x值为8,所以s的值为64。