考试
2021-01-07 12:29:50

运行下面程序后的输出结果为_______。

题目描述

运行下面程序后的输出结果为_______。

#include <stdio.h>

main()

{int a=2,i;

for(i=0;i++<3;)

printf(“%d”,f(a)); printf(“\n”);

}

f(int x)

{int y=0;static int z=3;

y++,z++;

return (x+y+z);

}

答案解析

[db:答案解析]

789解析:本题主要考察静态变量和非静态变量的区别。在主函数中通过循环调用了三次函数f,由于在f中的局部变量x和y没有加static关键字为非静态变量,所以每次函数调用后,它们的内存就会被释放,而z变量前加了static关键字为静态变量,所以每次函数调用后,它的内存不会被释放,z中的值仍然会保留。所以程序输出的三个值分别为:2+1+4=7,2+1+5=8,2+1+6=9。

加载中...
AI正在思考中,请稍候...