这道题好复杂,哪位高手帮我解释一下。

图片说明

结果
是60,函数fun中的sum是static类型,并不会随着函数fun运行到右括号就结束生命周期。所以执行fun(a,5)之前sum=0,执行完fun(a,5)后sum=15,所以返回值是15.
再执行fun(a,4)时就相当于15+6+7+8+9=45,所以fun(a,4)的返回值是45.最后的结果是15+45=60

fun函数的作用就是求指定数组x的前n个数的和。那么结果显而易见了。
fun(a, 5) = 1+2+3+4+5 = 15
fun(b, 4) = 6+7+8+9 = 30
s = fun(a, 5) + fun(b, 4) = 45
结果:45

结果就是两个集合相加,最后以10进制的格式输出,答案为:43

我怎么感觉是60呢,,,,

变量sum是static的吧,所以答案是fun(a,5) = 1+2+3+4+5 = 15 ;fun(b, 4) = 15+ 6+7+8+9 = 45 ;s = fun(a, 5) + fun(b, 4) = 60

先走main 函数 然后调用fun函数 第一次算得15 由于sum 是静态的 第二次算时应加上第一次的结果 才是第二次的

所以 第二次是45 加在一起 60