A-A+

阅读下列程序 则运行结果为 #includestdio.h fun() { static

2022-08-06 02:39:56 问答库 阅读 175 次

问题详情

阅读下列程序,则运行结果为 #include"stdio.h" fun() { static int x=5; x++; return x;} main() { int i,x; for(i=0;i<3;i++) x=fun(); printf("%dn",x);}
A.5
B.6
C.7
D.8请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续三次调用函数fun(),三次对静态变量x进行操作,x的值应依次为6,7,8。

考点:结果,程序