[問題] static變數用for迴圈與function重複宣告
開發平台(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):(請善用置底文網頁, 記得排版)
-------------(函式呼叫版本)-----------
http://ideone.com/ft95Hj
-------------(for迴圈呼叫版本)-----------
http://ideone.com/MJz3uL
-------------(重複宣告(當然是錯誤))-----------
http://ideone.com/8xNX29
補充說明(Supplement):
這是我在書上看到介紹static變數的範例(呼叫函數,函數內宣告static變數)
(我沒有完全照著打,結果是有符合書上的結果)
很好奇為何可以用for一直宣告
且用static變數,值不會被宣告覆蓋過,可以完成累加的功能。
謝謝版友的解惑。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.13.186
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1475035143.A.81A.html
→
09/28 12:17, , 1F
09/28 12:17, 1F
→
09/28 13:19, , 2F
09/28 13:19, 2F
推
09/28 14:18, , 3F
09/28 14:18, 3F
→
09/28 14:18, , 4F
09/28 14:18, 4F
推
09/28 14:24, , 5F
09/28 14:24, 5F
→
09/28 14:24, , 6F
09/28 14:24, 6F
→
09/28 14:24, , 7F
09/28 14:24, 7F
→
09/28 14:28, , 8F
09/28 14:28, 8F
→
09/28 18:07, , 9F
09/28 18:07, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章