问题 单项选择题

下列程序的输出结果是_______。 fun() { static int x=5; if(x++>5)printf("%d",x); else printf("%d",x++); } main() { fun();fun(); }

A.67

B.69

C.68

D.78

答案

参考答案:C

解析:[评析] 模块的代码开始运行后,使用static语句声明的变量会—直保持其值,直至该模块复位或重新启动。在第1次调用fun函数时,x的初值为5,if语句的条件不成立,执行else printf("%d"x++);语句,输出6,执行后x的值变为7,由于x是静态局部变量,在函数调用结束后,它并不释放,仍保留x=7。在第2次调用fun函数时,if语句的条件成立,执行printf("%d",x);语句,输出8。

多项选择题
单项选择题