c语言中,静态局部变量和静态全局变量的值,在函数调用结束后都保留原值吗?

如题所述

未初始化的静态局部变量存放BSS段中,初始化了的静态局部变量存放于全局区,静态全局变量存放于全局区,,函数调用完了,释放自己使用的栈内存。如果函数中有改变全局区或BSS段的变量,函数调用完后,这些变量的值就是函数里修改后的值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-22
这个题考的就是静态变量,它有个自动变量不具备特点的就是数值在调用结束后,其固有的值并不改变,且被带到下一次调用中去。不像自动变量在下次调用又被重新初始化了。因此,本题第一次y=2后下次调用函数时y是从2开始而不是初始化的1。
相似回答