问题 单项选择题

有以下程序
#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.30
B.10
C.0
D.64

答案

参考答案:D

解析: 第一次循环fun函数返回值为2,第二次循环由于x是static类型,x仍保留上次的值2,所以返回值为4,第三次循环由于x是static类型,x仍保留上次的值4,所以返回值为8,对三次返回值乘积值为64,所以答案选择D。

单项选择题
单项选择题