有以下程序#include<stdio.h>int fun(){static int x=l:X*=2:return X:}main(){int i,s=l:for(i=l;i<=3,i++) s*=fun();printf(“%d\n”,s);}程序运行后的输出结果是
A.0
B.10
C.30
D.64
B、10
解析:解析:fun函数中的变量x为静态局部变量,它在内存的静态存储区中占据着永久性的存储单元.即使退出fun函数也不释放x的存储单元,仍保留其原来的值,函数共调用了3次fun函数,第一次调用fun函数后,x=2,s=2;第二次调用fun函数后,x=l,s=8;第三次调用fun函数后.x=8,s=64。故程序运行后输出结果为64。