knrt.net
当前位置:首页 >> srAnD(timE(NULL));//这条指令什么意思? >>

srAnD(timE(NULL));//这条指令什么意思?

第一,srand(time(null)); //是以当前时间为种子,产生随意数.其中,time(null)用来获取当前时间,本质上得到的是一个大整数,然后用这个数来随机数. 第二,这个错误应该是代码中写楼了什么东西造成的,最大的可能应该是大括号少了一半或者好多半.

这是两个函数!一个是srand函数!这是在调用rand()这个函数之前使用的!rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两个函数是一起使用的!来完成产生随机数的功能!而time(NULL)这个函数的返回值是作为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至于NULL这个参数.只有设置成NULL才能获得系统的时间!

c语言中语句srand( (time(NULL) ) ; 表示设置一个随机种子,每次运行都能保证随机种子不同.在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,它是根据一个数,我们可以称它为种子,为基

第一,srand(time(NULL)); //是以当前时间为种子,产生随意数.其中,time(NULL)用来获取当前时间,本质上得到的是一个大整数,然后用这个数来随机数. 第二,这个错误应该是代码中写楼了什么东西造成的,最大的可能应该是大括号少了一半或者好多半.

time中需要一个参数,是time_t *型的.如果该参数非空,那么时间值会存到对应参数中. 如果参数为NULL, 则不会处理.这里只需要它的返回值就够了,所以参数设置为空.PS:NULL的意思是空指针 不加NULL的话,编译不过去,毕竟 time函数要求有个参数的

这是两个函数的调用 一个是 srand(unsigned int) ; 一个是 time(long *t) ; 这里是把他们两个合在一起写,time函数的返回值作为srand函数的 参数 ,而NULL就是time函数的输入参数 ,time 函数要求参数是一个指针,因此得用 NULL,NULL代表指针不知向任何变量,而 0 则是 int 型的,类型不符 如果非要用0, 也可以进行强制类型转换, srand((unsigned)time ( (long *) 0)) ;

重新设置一个随机种子如果没有srand((unsigned)time(NULL));运行以下程序,每次输出结果会都是一样的..void test_rand(void){ unsigned long n; srand((unsigned)time(NULL)); for(int i = 0; i < 100; i++) { n = rand(); printf("%10d\n", n); }}

初始化随机函数种子,srand((unsigned)time(NULL));是拿系统时间作为种子,由于时间是变化的,种子变化,可以产生不相同的随机数.使用时,参数可以是unsigned型的任意数据,比如srand(10);如果不使用srand 用rand()产生的随机数,在多次运行,结果是一样的.

srand ( time (NULL) );srand();是一个函数,括号里面应该赋予一个数,把这个数当做随机因子,通过复杂的算法来产生随机数,time(null)是一个返回时间的函数,由于时间时时刻刻都在改变,所以做随机因子是比较合适的,希望我的回答对你有所帮助

(unsigned)time( NULL ) 是 取当前的 时间 (从1970年到 现在的 时间 秒 数)化成无符号 整数.然后 以 这个 数 为参数,通过 srand(参数) 设 随机数 序列 的 种子.------(unsigned) -- 强制转化为 无符号 整型time() -- 库函数,取时间.NULL -- 0

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com