问题 单项选择题

有以下程序:
#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) 0
B) 1
C) 4
D) 8

答案

参考答案:D

解析: x被声明为静态变量,第一次调用fun()后,x的值为2,第二次调用时直接执行x*=2,值为4,第三次调用时直接执行x*=2,值为8。

单项选择题
单项选择题