《【2017年整理】重新设置一个随机种子》由会员分享,可在线阅读,更多相关《【2017年整理】重新设置一个随机种子(2页珍藏版)》请在金锄头文库上搜索。
1、srand( (unsigned)time( NULL )重新设置一个随机种子。2009-06-18 19:54#include stdafx.h#include #include #include void main()void test_rand(void);test_rand();void test_rand(void)long n;int i;/srand(unsigned)time(NULL);for(i=1;i100;i+)n = rand();printf(%10dn, n);我在 VC+环境下 如果没有 srand(unsigned)time(NULL);运行以下程序,不存在每
2、次输出结果会都是一样的。?time_t t;srand(unsigned) time(&t);srand函数是随机数发生器的初始化函数,原型:void srand(unsigned seed);它需要提供一个种子,如:srand(1);直接使用 1来初始化种子。不过常常使用系统时间来初始化,即使用time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970到现在所持续的秒数,然后将 time_t型数据转化为(unsigned)型在传给 srand函数,即:srand(unsigned) time(&t);还有一个经常用法,不需要定义 time_t型 t变量,即:srand(unsigned) time(NULL);直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的 t数据。