有以下程序: int fun(int x[],int n) {static int sum=0,I; for(i=0;i<n;i++)sum+=x[i]; return sum; } main() {int a[]

admin2011-06-13  21

问题 有以下程序:    int fun(int x[],int n)    {static int sum=0,I;    for(i=0;i<n;i++)sum+=x;    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、45
B、50
C、60
D、55

答案C

解析 fun函数中用static声明的局部变量sum的值在函数调用结束后不消失而保留原值,即占用的存储单元不释放,在下一次调用该函数时,该变量已有值,就是上一次函数调用结束时的值。
转载请注明原文地址:https://jikaoti.com/ti/BLB0FFFM
0

最新回复(0)