以下程序的输出结果是() #include main() int fun() {int i,s=1; {static int x=1; for(i

admin2019-08-10  15

问题 以下程序的输出结果是()
#include               main()
int fun()                       {int i,s=1;   
{static int x=1;                for(i=1;i<=2;i++)s=fun();
x*=2;returnx;}                 printf(’’%d\n’’,s);}

选项 A、4
B、3
C、2
D、1

答案A

解析 x是局部静态变量,其初值等于1,然后再把其值扩大1倍后返回。在主函数中执行for循环语句2次,调用函数fun两次,所以变量s的值等于4。这里要强调的一点是当函数fun()执行完毕后,局部静态变量x的值不会丢失,仍然有效。
转载请注明原文地址:https://jikaoti.com/ti/F1f0FFFM
0

最新回复(0)