[問題] 新手C遭遇問題 逐行執行跟執行的結果不同
各位好,我這幾天在寫一個簡單的計算程式,
遭遇到一個問題,我使用函數,
在我進行逐行檢查的時候,傳入值有成功,回傳值也是成功的,
(函數回傳值應該會改變,逐行檢查時也有改變)
但是如果我直接執行exe的話,每次的回傳值都會變成同一個,
第二次或第三次執行的時候回傳值才會改變。
如圖所示
這是自動執行
http://i.imgur.com/vaEhTWc.png
請問到底是哪邊發生問題了?
這個情況我也不知道該拿甚麼關鍵詞去搜尋。拜託各位幫忙解答了。
下面是程式碼
http://codepad.org/ezukUOHW
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.142.160
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1437748568.A.104.html
※ 編輯: moebear (36.226.142.160), 07/24/2015 22:41:34
推
07/24 22:44, , 1F
07/24 22:44, 1F
→
07/24 22:48, , 2F
07/24 22:48, 2F
我想了解一下為什麼會發生這個問題,方便回答嗎?
※ 編輯: moebear (36.226.142.160), 07/24/2015 22:54:49
→
07/24 23:25, , 3F
07/24 23:25, 3F
→
07/24 23:58, , 4F
07/24 23:58, 4F
→
07/24 23:59, , 5F
07/24 23:59, 5F
→
07/24 23:59, , 6F
07/24 23:59, 6F
→
07/24 23:59, , 7F
07/24 23:59, 7F
如果我的理解沒錯的話,是srand重置了時間標記,產生了一組亂數序列,
rand是從這亂數序列裡面取,每次用rand都會往後面取,所以一般來說不會重複。
但是我程式碼在for裡面使用srand,在同一秒用相同的時間做出相同的時間標記,
產生同一組亂數序列,而rand本身的記數也被重置,所以才會一直出同樣的結果,
而逐行執行的時間超過一秒,才會出不同的結果,是這樣嗎?
※ 編輯: moebear (36.224.250.232), 07/25/2015 12:22:14
推
07/25 19:22, , 8F
07/25 19:22, 8F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章