在c语言里,为什么rand()每次生成的数都一样?

来源:百度知道 编辑:UC知道 时间:2024/05/05 02:12:46
如题~~~
怎么才能生成随机的数?

那是因为rand()生成的是伪随机数,需要种子来产生不同的随机数。
如果在预编译时声明#include<ctime>,则可用生成种子的函数 srand((unsigned)time(NULL)) ,因为时间值可以看成是一个随机的量(即每一时刻都不同),所以就生成了变化的伪随机数

rand((unsigned)time(NULL))

你生成的数字一样,是因为没有根据它的时间来变化,上面的代码就可以了.

没有生成随机数种子,随机数发生器其实是有规律的,要产生无规律随机数需要每次用不同的种子数初始化随机数发生器

还有一个初始公函数没用

少写了 srand((unsigned)time(NULL))