下列程序的运行结果是 【 】 #include int x=1; int fun(int a) {static int b=1; b+=a+x; return b; } main() {i

admin2017-10-26  18

问题 下列程序的运行结果是    【    】
  #include
  int x=1;
  int fun(int a)
  {static int b=1;
    b+=a+x;
    return b;
    }
    main()
    {int i=2;
  for(i=0;i<2;i++)printf("%d",fun(i)):
    }

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

答案C

解析 由static声明的变量,其值在函数结束后仍保留上一次的值。分析程序:当i=0时,调用fun(0)函数,执行b+=a+x;后b=2。当i=1时,调用fun(1)函数,此时b保留上一次的值2,此时执行b+=a+x;后b=4。
转载请注明原文地址:https://kaotiyun.com/show/c1kx777K
0

最新回复(0)