有以下程序 #include int fun(int x[],int n) { static int sum=0, i; for(i=0;i

admin2019-12-17  18

问题 有以下程序
#include
int fun(int x[],int n)
{
static int sum=0, i;
for(i=0;i;
return sum;
}
main()
{
int a[]={1,2,3,4,5}, b[]={6,7,8,9}, s=0;
s=fun(a,5)+fun(b,4);
printf("%d\n",s);
}
程序执行后的输出结果是( )。

选项 A、60
B、50
C、45
D、55

答案A

解析 考查静态变量。静态变量在编译时就被分配存储空间,所占用存储单元直到程序结束时才释放,初始化只进行一次。函数fun()的功能是在sum的基础上累加数组x中所有的数字,函数fun(a,5)返回值为15,计算函数fun(b,4),sum不再初始化,仍为15,累加后返回值为45,所以计算得到的最终结果为60,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/oICp777K
0

最新回复(0)