问题 单项选择题

有以下程序: #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。

单项选择题 案例分析题
多项选择题