因为rand () )
函数生成的随机数是伪随机数。
从某个数值中根据某个公式推定,该数值根据某个公式计算,
这个值在计算机启动后也不会改变。 这里把这个公式比作种子,现在就修正这个种子。
常用的方法是用srand修改种子
但是也有问题
在for循环中使用时:
for循环的执行速度非常快,在一秒钟内完成了执行
另一方面,time ) )函数得到的时间只精确到秒,所以每个循环得到的时间相同。 于是,种子也一样,随机数也一样
srand((unsignedint ) time ) ) null ); //在当前时间生成随机数种子
放在for循环之外也没关系吗?
说明上述理由:
种下随机种子会生成伪随机数序列(请注意,他是一个序列)
所以如果放入for循环中,使用的种类都是一个,取得数也是第一个,当然也是一样的