欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
C語言srand和rand用法詳解
[打印本頁]
作者:
51hei社區(qū)
時間:
2016-1-16 07:03
標題:
C語言srand和rand用法詳解
今天本來看數(shù)據(jù)結構的,結果發(fā)現(xiàn)有這么句話srand(time(0)),注釋是初始化隨機數(shù)種子,結果發(fā)現(xiàn)time(0)不解,好像以前看到過,然后網(wǎng)上查了下,發(fā)現(xiàn)了time.h這個頭文件中有此函數(shù)
typedef long time_t;
time_t time(time_t *);
這個函數(shù)的返回值和形參都是返回從1970年1月1日0時0分0秒到現(xiàn)在的秒數(shù),所以用long型,當然也可以給形參傳個NULL
往后看了下,還有幾個實用函數(shù)
struct tm * gmtime(const time_t *);
struct tm * localtime(const time_t *);
tm定義成以下結構體
struct tm {
inttm_sec;
inttm_min;
inttm_hour;
inttm_mday;
inttm_mon;
inttm_year;
inttm_wday;
inttm_yday;
int tm_isdst;
};
看這函數(shù)名一個是獲取格林威治時間,另一個是獲取本地時區(qū)的時間
于是寫了個程序測了下,還真是如此
time_t timer;
tm *stm;
time(&timer);
stm=localtime(&timer);
然后當前的時間信息就被保存在stm指向的結構體中。
好了回到正題
函數(shù)一:int rand(void);
從srand (seed)中指定的seed開始,返回一個[seed, RAND_MAX(0x7fff))間的隨機整數(shù)。
函數(shù)二:void srand(unsigned seed);
參數(shù)seed是rand()的種子,用來初始化rand()的起始值。
seed如果是固定值,那么每次產(chǎn)生的隨機數(shù)也是固定不變的,
通常的做法是 以這樣一句代碼
srand
((unsigned)time(NULL));
來取代,這樣將使得種子為一個不固定的數(shù),這樣產(chǎn)生的隨機數(shù)就不會每次執(zhí)行都一樣了。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1