[問題] c新手 問題之二

作者: jack1218 (赤城我老婆)   2016-09-04 14:14:40
昨天在這裡問了一個問題
受益良多
今天小弟我又遇到了一個問題
請問rand()的正確使用方法
我想要取得0~3的隨機數字
上網查之後這樣設定rand()%4 但是每次執行的結果都一樣 (有點難形容 就是每次數字出現順序都一樣 然後某些數從來不會出現)
我想嘗試寫簡易版2048專案 目前進度還在嘗試隨機產生數字
程式碼如下
http://ideone.com/aZdVUt
希望前輩們能多多指教!
作者: elysium5290 (他塌塌塌塌)   2016-09-04 14:16:00
加一行srand(time(NULL));
作者: ilikekotomi (Young)   2016-09-04 14:27:00
你可以想像rand是從一個固定表開始產生數字加上1F說的那一行 可以讓表的起始位置不一樣
作者: jack1218 (赤城我老婆)   2016-09-04 14:28:00
謝謝 然後我發現另一個問題了.. 感謝
作者: ilikekotomi (Young)   2016-09-04 14:28:00
根據時間決定這樣每次執行就不會都一樣了
作者: jack1218 (赤城我老婆)   2016-09-04 14:30:00
更新一下程式碼http://ideone.com/EvAO4D這樣就沒問題了 只是效率變很低哈 原來是我位置放錯 謝啦http://ideone.com/YedQBb
作者: Caesar08 (Caesar)   2016-09-04 15:05:00
srand只要呼叫一次就可以了,不用每次使用前都呼叫
作者: jack1218 (赤城我老婆)   2016-09-04 18:10:00
謝啦2048已完成
作者: GGing (小軒軒)   2016-09-04 20:15:00
恭喜!有空可以多查查背後的原理哦!

Links booklink

Contact Us: admin [ a t ] ucptt.com