分享这个博客链接,讲的真的很好。
主要有以下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。