1、代碼里的srand(time(0))的意思是:用當(dāng)前時(shí)間來設(shè)定rand函數(shù)所用的隨機(jī)數(shù)產(chǎn)生演算法的種子值。其中,time(time_t *t); 是C標(biāo)準(zhǔn)庫(kù)函數(shù),如果t是空指針,直接返回當(dāng)前時(shí)間。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、托克托網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、托克托網(wǎng)絡(luò)營(yíng)銷、托克托企業(yè)策劃、托克托品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供托克托建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
2、srand函數(shù)就用來初始化這個(gè)發(fā)生器,參數(shù)time(0)能夠生成從1970年1月1日到當(dāng)前機(jī)器時(shí)間的秒數(shù),這個(gè)數(shù)在你每次執(zhí)行程序的時(shí)候都會(huì)不斷增長(zhǎng)、變化,所以用它當(dāng)做種子來初始化發(fā)生器,就會(huì)生成不同的隨機(jī)數(shù)了。
3、srand(time(0)) 就是給這個(gè)算法一個(gè)啟動(dòng)種子,也就是算法的隨機(jī)種子數(shù),用1970.1至今的秒數(shù),初始化隨機(jī)數(shù)種子。Srand是種下隨機(jī)種子數(shù),你每回種下的種子不一樣,用Rand得到的隨機(jī)數(shù)就不一樣。
4、srand(time(0))放到循環(huán)前面就可以了。
5、是一樣的。都是0 而 time(time_t *time)里面的time_t *time,也就是給指針賦值個(gè)0,就是:time = NULL,是允許的。
6、得到的 b[0]==a[0]; b[1]==a[1];...b[9]==a[9];用 srand() 生成新種子,那么 新的一套 和 老 的 一套 隨機(jī)數(shù) 次序就 不一樣了,數(shù)值也不完全一樣了,這樣模擬 的 偽隨機(jī) 就會(huì) 接近 真隨機(jī)。
srand()函數(shù)的原型聲明為:void srand (unsigned int seed);所以在調(diào)用時(shí)只需要傳入一個(gè)隨機(jī)數(shù)種子就可以了,不要加別的參數(shù)。例如:srand (time(NULL));也就是將當(dāng)前時(shí)間作為隨機(jī)數(shù)種子傳入。
一般是你在調(diào)用函數(shù)的時(shí)候傳遞的是int類型的數(shù)據(jù),但那個(gè)函數(shù)定義的參數(shù)類型不是int(比如是結(jié)構(gòu)或者指針或者數(shù)組)。
srand((unsigned int)(time(NULL))); 設(shè)種子,放在主程序語(yǔ)句開始處,執(zhí)行1次就可以了。其他地方的 srand() 全部去掉。
得到的 b[0]==a[0]; b[1]==a[1];...b[9]==a[9];用 srand() 生成新種子,那么 新的一套 和 老 的 一套 隨機(jī)數(shù) 次序就 不一樣了,數(shù)值也不完全一樣了,這樣模擬 的 偽隨機(jī) 就會(huì) 接近 真隨機(jī)。
當(dāng)resultAL為空時(shí)就會(huì)出現(xiàn)錯(cuò)誤“無效的過程調(diào)用或參數(shù)”。
而srand()是函數(shù),他的調(diào)用只能在變量之后調(diào)用。
1、srand()函數(shù)需要的頭文件仍然是:stdlib.h srand()函數(shù)原型:void srand (usigned int seed);srand()用來設(shè)置rand()產(chǎn)生隨機(jī)數(shù)時(shí)的隨機(jī)數(shù)種子。參數(shù)seed是整數(shù),通??梢岳胻ime(0)或getpid(0)的返回值作為seed。
2、函數(shù)定義:void srand(unsigned int seed)函數(shù)功能:設(shè)置隨機(jī)數(shù)種子 函數(shù)說明:通??梢杂胓etpid()(獲取當(dāng)前進(jìn)程的進(jìn)程識(shí)別碼)或者time(NULL)(獲取當(dāng)前系統(tǒng)的時(shí)間信息)來充當(dāng)種子,保持每次運(yùn)行時(shí)種子是不一樣的。
3、1 調(diào)用srand(time(NULL))設(shè)置隨機(jī)數(shù)種子。2 調(diào)用rand函數(shù)獲取一個(gè)或一系列隨機(jī)數(shù)。需要注意的是,srand只需要在所有rand調(diào)用前,被調(diào)用一次即可,沒必要調(diào)用多次。以下是隨機(jī)獲取10個(gè)整型值并輸出的例子,輔助理解。
4、首先,打開C語(yǔ)言編譯器,新建一個(gè)初始.cpp文件,例如:test.cpp。