[问题] 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