选择题
阅读下列程序,则运行结果为
#include 'stdio.h'
fun()
{static int x=3;
x++;
return x;}
main()
{int i,x;
for(i=0;i<3;i++)
x=fun();
printf('%d\n',x);}
A、
3
B、
4
C、
5
D、
6
【正确答案】
D
【答案解析】
在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续3次调用函数fun(),3次对静态变量x进行操作,x的值应依次为4,5,6。
提交答案
关闭