下述程序的输出结果是( )。 int x=3 void main() { int i; for(i=1;i<x;i++) incre(); } incre() { static int si=1;

admin2013-08-15  26

问题 下述程序的输出结果是(    )。
    int x=3
void main()
{  int i;
   for(i=1;i<x;i++)
      incre();
  }
  incre()
  {  static int si=1;
     si*=si+1;
     printf("\n%d",si);
  }

选项 A、22
B、25
C、26
D、33

答案C

解析 本题考查局部静态变量问题,main()函数两次调用incre()函数。第一次调用时si=si*(si+1)=(1+1)*1=2,输出2,第二次调用时si=(si+1)*si=3*2=6,此时输出结果为6。
转载请注明原文地址:https://kaotiyun.com/show/xgJp777K
0

最新回复(0)