有以下程序 #include int fun() { static int x=1; x*=2; return x; } main() { int i, s=1; for( i=1; i

admin2015-07-28  20

问题 有以下程序
#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);
}
程序运行后的输出结果是( )。

选项 A、30
B、10
C、0
D、64

答案A

解析 静态变量是在编译时就被分配存储空间,所占用存储单元直到程序结束时才释放,其初始化只进行一次。所以调用三次fun()函数,计算的结果为s=s*2*4*8=64,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/jOJp777K
0

最新回复(0)