srand函數c語言
『壹』 c語言srand(time(0))
這是用於初始化隨機函數發生器的,計算機中的隨機函數在生成一個隨機數時需要用到一個稱為隨機數發生器的東西,如果不對其進行初始化,每次生成的隨機數就會是相同的。
srand函數就用來初始化這個發生器,參數time(0)能夠生成從1970年1月1日到當前機器時間的秒數,這個數在你每次執行程序的時候都會不斷增長、變化,所以用它當做種子來初始化發生器,就會生成不同的隨機數了。
『貳』 C語言 srand()函數
呵呵,這個是我遇到過的問題,並進行了一些研究。其實這是因為srand()函數是一個隨機數產生函數,其意思就是指c語言里的隨機數都是由它來控制產生的!!!如果在應用srand()函數之前就用隨機函數rand(),則相當於使用了srand(1);
而將srand((unsigned)time(null));這條語句放在了for循環里,即是用了srand((unsigned)time(0));故此句語句不變的話,產生的隨機數就不變!!!不懂的話可以問我!
『叄』 c語言中語句srand(time(NULL))什麼意思。
c語言中 srand(time(NULL)); 的意思是:使用當前時間進行隨機數發生器的初始化。
time_t time(time_t *t); 是C標准庫函數,如果t是空指針(NULL),直接返回當前時間。如果t不是空指針,返回當前時間的同時,將返回值賦予t指向的內存空間。time() 是指返回自 Unix 紀元起的當前時間的秒數的函數,主要用來獲取當前的系統時間,返回的結果是一個time_t類型。
srand函數是隨機數發生器的初始化函數。原型:void srand(unsigned int seed); srand和rand()配合使用產生偽隨機數序列。
(3)srand函數c語言擴展閱讀:
srand函數的相關信息:
1、語法:void srand (unsigned seed);
2、參數說明:unsigned seed:隨機數產生器的初始值(種子值)。
3、功能說明:srand設置產生一系列偽隨機數發生器的起始點,要想把發生器重新初始化,可用1作seed值。任何共它的值都把發生器匿成一個隨機的起始點。rand檢索生成的偽隨機數。在任何調用srand之前調用rand與以1作為seed調用srand產生相同的序列。
此函數可以設定rand函數所用的隨機數產生演演算法的種子值。任何大於一的種子值都會將rand隨機數所產生的虛擬隨機數序列重新設定一個起始點。
4、包含文件:stdlib. h
5、返回值:無
『肆』 C語言中srand隨機函數怎麼用
在c語言裡面,兩個函數包含在頭文件裡面,c++裡面,標准庫(被包含於中). srand函數是隨機數發生器的初始化函數。 原型:void srand(unsigned seed); rand函數用來產生隨機數,當然是偽隨機數。
『伍』 C語言srand和rand函數
rand()函數,一般根srand()函數一起用。它們在一起,作用是:產生一個隨機數。
通常格式為:
srand
(
(unsigned)
time
(NULL)
);
a=rand()%x;
//a,x,均為整型變數,其中,x在之前應被賦值。
srand函數裡面的unsigned也可以換成其它的。例如:int之類的數據類型,但結果也會有相應的變化。
通過rand函數產生隨機數以後,用%x來限定它的范圍。即:0<=a
評論
0
0
載入更多
『陸』 C語言中關於srand的這段函數是什麼意思
time_t
t
是宣告
t
這個變數。t
是調用
time函數需要的參數,time調用成功後,會返回一個值,而這個值同時也會保存在
t里。
&
是操作在t上,是
time
函數調用時需要
t
的地址作為參數。
srand
只是使用
time
調用後的返回值作為參數。一般來說
time_t
只是
long
的別名。具體可查看手冊或者
types.h
里的定義。
『柒』 請教C語言中srand隨機函數
呵呵,這個是我遇到過的問題,並進行了一些研究。其實這是因為srand()函數是一個隨機數產生函數,其意思就是指C語言里的隨機數都是由它來控制產生的!!!如果在應用srand()函數之前就用隨機函數rand(),則相當於使用了srand(1);
而將srand( (unsigned)time( NULL ) );這條語句放在了for循環里,即是用了srand( (unsigned)time(0 ));故此句語句不變的話,產生的隨機數就不變!!!不懂的話可以問我!
『捌』 C語言srand((unsigned)time(NULL)); 是什麼意思
srand()函數用來設置演算法的種子,time(NULL)返回當前的時間,先調用srand(time(NULL))是把當前的時間作為種子,是程序每次運行產生不同的隨機數序列。
涉及到三個概念:
1、隨機數:數學上產生的都是偽隨機數,真正的隨機數使用物理方法產生的。
2、隨機數種子:隨機數的產生是由算術規則產生的,srand(seed)的隨機數種子不同,rand()的隨機數值就不同,倘若每次的隨機數種子一樣,則rand()的值就一樣。所以要產生隨機數,則srand(seed)的隨機數種子必須也要隨機的。
3、用srand()產生隨機數種子
原型:void srand ( unsigned int seed )。作用是設置好隨機數種子,為了讓隨機數種子是隨機的,通常用time(NULL)的值來當seed。
參考資料來源:網路--srand