全部题库 / C语言 / 试题详情
单选题 C语言
2017-04-04

有以下程序:

程序运行后的输出结果是(  )。

A.30 
B.10 
C.0 
D.64

参考答案

D

答案解析

分析程序可知,main函数中初始化s=1,然后根据i的值1、2、3执行3次for循环,每次将s当前值与函数fun()的返回值相乘,并将乘积赋给s,所以for循环等价于:s=S*fun()*fun()*fun();可见s的值取决于fun()函数的返回值。在fun()函数中,定义了一个静态局部变量x并初始化为1,再将X的值乘以2返回,因为静态局部变量x在编译时赋初值,并且只赋值一次,下一次调用时都是保留上一次的值,所以fun()函数每次被调用,返回值都是上一次的2倍,所以S=1×2×4×8=64,故答案选D。

你可能感兴趣的试题

A.Beijing! 
B.to Beijing!
C.Welcome you to Beijing! 
D.you to Beijing!
A.进行字符串复制时,目的串的存储空间必须足够大
B.两个字符串进行比较时,短的一个必定比长的一个小
C.计算一个字符串的长度时,应包含串尾的结束标志
D.两个字符串连接时,对存储空间的大小没有要求