有以下程序: #include<stdio.h> int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; re

admin2019-08-18  15

问题 有以下程序:
    #include<stdio.h>
    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、55
B、50
C、45
D、60

答案D

解析 内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。fun(a,5)的值是15,再次调用后sum=15,所以fun(b,4)=45,s=45+15=60,因此D选项正确。
转载请注明原文地址:https://kaotiyun.com/show/AqRp777K
0

最新回复(0)