为什么x,y的值是这样啊

非常不理解!

img


y的值为什么不是0啊,明明add_y函数与print函数独立,为什么y++会影响print呢

因为y是全局变量啊

在add_x中,重新定义了一个名为“x”的变量,全局变量x失效,被这个局部x覆盖
add_y没有定义y,用的就是全局y

全局变量和局部变量同时存在时,全局变量优先,这是x变量的规律,y的话进到函数中没有局部变量赋值,对全局变量++,为什么呢,因为全局变量是在静态区,有记忆性可以这么理解,局部变量函数结束时释放了。