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

admin2010-01-10  20

问题 以下程序的输出结果是    int x=3;    main()    {  int i;      for(i=1;i<x;i++)incre();    }    incre()    {  static int x=1;       x*=x+1;       printf(“%d”,x);    }

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

答案4

解析 本题首先定义一个全局变量x并赋初值为3,主函数中使用这个全局变量控制循环次数,循环执行了2次,调用两次incre()函数。第一次调用incre(),定义一个静态变量x并赋初值1,然后执行“x*=x+1”,使x的值变为2;第二次调用incre()函数时,静态变量将保留上一次退出时的值即2,执行语句“x*=x+1”后,x的值变成6,输出x的值为6。
转载请注明原文地址:https://kaotiyun.com/show/HLWp777K
0

最新回复(0)