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