在C++编程中srand((unsigned int)(time(NULL)))这句代码的解读

分享这个博客链接,讲的真的很好。
主要有以下3方面收获:
1.srand跟rand的关系。
就是每次使用rand(),都会看之前调用了srand()函数没有,没有,默认调用了srand(1).
有调用,就是strang(seed),这里的seed就是标题的time(NULL).

rand()取随机数公式:
要取得[a,b)的值可以用:(rand()%(b-a))+ a;(当a为0时,可以用rand()% b)
取得伪随机浮点数: (rand()/ double(RAND_MAX))可以取得0-1之间的浮点数,
如果想获得更大的随机值可以通过(rand()/ double(RAND_MAX)/ 10)以此类推

2.time函数的简单用法
在c中的头文件为

#include <time.h>//C语言的头文件
#include <ctime>//C++语言的头文件

time函数可以获取当前的系统时间(但是获取的是秒数,是从1970年1月1日零时零分零秒到目前为止所经过的时间),ctime可以将其转化为常规的时间

3.代码执行优先级

我们可以看到这个函数的参数:(unsigned int)time(0)
从优先级的角度看,这些都是单目运算符,单目运算符的处理顺序是从右往左的,所以上面的处理过程是:对于time函数,给了一个参数为0的值,返回一个当前系统时间的秒数,然后在将其强转为unsigned int类型。
还有如同(*p++):这个也是单目运算符,处理也是从右往左的

具体更多详细内容,看http://blog.csdn.net/msdnwolaile/article/details/50707481

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值