[問題] 關於rand()

看板C_and_CPP作者 (KAWAII>///<)時間14年前 (2009/10/30 12:53), 編輯推噓2(205)
留言7則, 5人參與, 最新討論串1/1
遇到的問題:我有爬了一些板上的關於rand的文章,也有稍微的google一下 但是對於將srand(time(NULL))放在function及main裡面的不同點還是不太懂 在run的時候如果將srand放在function中都會出現同一個數值 但是放在main裡就不會 = =a...為什麼呢? 還請諸位高手指點 開發平台: Dev 補充說明:因為原PO為C++新手,希望幫忙解答的人可以說得較詳盡一點 感激不盡 <(_ _)>*[m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.242.74 ※ 編輯: erichsueh 來自: 140.112.242.74 (10/30 12:54)

10/30 13:02, , 1F
pesudo亂數必須有一個數當起點(種子),用srand函式設定
10/30 13:02, 1F

10/30 13:02, , 2F
而time(NULL)取得的是「秒數」
10/30 13:02, 2F

10/30 13:02, , 3F
如果你同一秒執行該函式多次 就會得到同一起點 同樣亂數
10/30 13:02, 3F

10/30 13:07, , 4F
樓上高手
10/30 13:07, 4F

10/30 13:23, , 5F
5F低手....XD
10/30 13:23, 5F

10/30 14:26, , 6F
所以每隔一秒取一次 就會得到不同的種子?
10/30 14:26, 6F

10/30 16:05, , 7F
好像有點懂了~謝謝james大的回答^^
10/30 16:05, 7F
文章代碼(AID): #1Awd4_8N (C_and_CPP)