阅读下列程序,则运行结果为 #include "stdio.h" fun() { staic int x=5; x++; return x;} main() { int i,x; for(i=0

admin2010-09-05  24

问题 阅读下列程序,则运行结果为    #include "stdio.h"    fun()    { staic  int x=5;      x++;      return x;}    main()    { int i,x;      for(i=0;i<3;i++)        x=fun();      printf("%d\n",x);}

选项 A、5
B、6
C、7
D、8

答案D

解析 在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续三次调用函数fun(),三次对静态变量x进行操作,x的值应依次为6,7,8。
转载请注明原文地址:https://kaotiyun.com/show/nzPp777K
0

最新回复(0)