[问题] static变量用for循环与function重复宣告

楼主: redbee (ㄚ峰)   2016-09-28 11:58:45
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
1. 用for循环呼叫function,在function宣告static变量并累加,变量会累加,
但为跳离在进入function时何不受到"宣告"被改变量值。
2.用类似的想法,直接在for循环内宣告变量,再将此变量累加
为何不会有重复宣告的问题?
(若是重复贴"宣告相同变量"的叙述,compiler会出现重复宣告的错误)
3.在for循环内宣告static变量,再将此变量累加
为何此变量可以一直被累加而不会被宣告叙述修改值?
(若是重复贴"宣告相同变量"的叙述,compiler会出现重复宣告的错误)
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
作者: Caesar08 (Caesar)   2016-09-28 12:17:00
google "c++ static 变量" 不是就有一堆了吗?
作者: pttworld (批踢踢世界)   2016-09-28 13:19:00
定义和scope,可以使用Code::Blocks
作者: dontfindme (Hsiu)   2016-09-28 14:18:00
static只会宣告一次,而且一定要给初值,所以之后其实根本没有再宣告
作者: CoNsTaR ((const *))   2016-09-28 14:24:00
1、所有变量都只会被“宣告”一遍2、非全域的变量可能被初始化不只一遍3、static 变量只初始化一遍关键字 lifetime & scope
楼主: redbee (ㄚ峰)   2016-09-28 18:07:00
感谢版友们的解答。

Links booklink

Contact Us: admin [ a t ] ucptt.com