正确答案是S=7,A=13。虽然知道考察的是全局变量和局部变量,但是还是没搞懂。
这里有2个静态的变量
s,l
s 是全局变量初始值是 5
l 是函数 func 中的局部的静态变量,初始值是 2
当执行完第一个函数后
s=func()
l=5+2=7,s=5+1=6
当执行完第二个函数后
a=func()
l=7+6=13,s=6+1=7,a=13
答案是
s=7,a=13
s=func();改成
func();就行
s是全局变量,不能再接受返回值了
s++执行了没用
因为后面return的是l
l的值重新赋值给s,把前面s++的结果给覆盖了,所以s还是7
你知道了s是7,就该知道a为什么是13了