选择题
有以下程序:
#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、
10
B、
30
C、
0
D、
64
【正确答案】
D
【答案解析】
在本题中,静态局部变量x在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第一次循环s的值为2,在第二次循环中,返回的x的值为4,所以s的值为8,第三次循环,返回的x的值为8,所以s的值为64。
提交答案
关闭