[問題] 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