为什么n就等于6了,第一次n=5能理解,等于6就不理解了

img

img

因为f()方法中,变量a是局部静态变量,每次都会保留最新的值。
也就是第一次调用f(k)=f(2)后,a被更新为5
第二次调用f(m)=f(1)时,此时的a是5,不是3,所以最后结果是6.

img

静态变量只申明一次,所以第5行的语句只执行一次,滞后调用的a都是在原先基础上对其进行操作