當前位置:首頁 » 編程語言 » c語言中srand函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中srand函數

發布時間: 2022-06-29 01:35:40

A. c語言中關於srand的這段函數是什麼意思

time_t
t
是宣告
t
這個變數。t
是調用
time函數需要的參數,time調用成功後,會返回一個值,而這個值同時也會保存在
t里。
&
是操作在t上,是
time
函數調用時需要
t
的地址作為參數。
srand
只是使用
time
調用後的返回值作為參數。一般來說
time_t
只是
long
的別名。具體可查看手冊或者
types.h
里的定義。

B. C語言 srand()函數

呵呵,這個是我遇到過的問題,並進行了一些研究。其實這是因為srand()函數是一個隨機數產生函數,其意思就是指c語言里的隨機數都是由它來控制產生的!!!如果在應用srand()函數之前就用隨機函數rand(),則相當於使用了srand(1);
而將srand((unsigned)time(null));這條語句放在了for循環里,即是用了srand((unsigned)time(0));故此句語句不變的話,產生的隨機數就不變!!!不懂的話可以問我!

C. C語言中:srand((unsigned)time(&t));是什麼意思

time_t t;
srand((unsigned) time(&t));

srand函數是隨機數發生器的初始化函數,原型:
void srand(unsigned seed);
它需要提供一個種子,如:
srand(1);
直接使用1來初始化種子。不過常常使用系統時間來初始化,即使用
time函數來獲得系統時間,它的返回值為從 00:00:00 GMT, January 1, 1970
到現在所持續的秒數,然後將time_t型數據轉化為(unsigned)型在傳給srand函數,即:
srand((unsigned) time(&t));

還有一個經常用法,不需要定義time_t型t變數,即:
srand((unsigned) time(NULL));
直接傳入一個空指針,因為你的程序中往往並不需要經過參數獲得的t數據。

D. C語言srand和rand函數

rand()函數,一般根srand()函數一起用。它們在一起,作用是:產生一個隨機數。
通常格式為:
srand
(
(unsigned)
time
(NULL)
);
a=rand()%x;
//a,x,均為整型變數,其中,x在之前應被賦值。
srand函數裡面的unsigned也可以換成其它的。例如:int之類的數據類型,但結果也會有相應的變化。
通過rand函數產生隨機數以後,用%x來限定它的范圍。即:0<=a
評論
0
0
載入更多

E. C語言srand和rand函數怎麼用

rand()函數,一般根srand()函數一起用。它們在一起,作用是:產生一個隨機數。

通常格式為:

srand ( (unsigned) time (NULL) );
a=rand()%x; //a,x,均為整型變數,其中,x在之前應被賦值。

srand函數裡面的unsigned也可以換成其它的。例如:int之類的數據類型,但結果也會有相應的變化。
通過rand函數產生隨機數以後,用%x來限定它的范圍。即:0<=a<x。
其原理是:用那個隨機數,去除以x,留下所得余數,作為最終結果。

F. c語言中語句srand(time(NULL))什麼意思

「srand(time(NULL));」這條指令的意思是利用系統時間來初始化系統隨機數的種子值,使得每次運行由於時間不同產生而產生不同的隨機數序列。

srand函數是隨機數發生器的初始化函數。它的原型是「void srand(unsigned int seed);」srand和rand()配合使用產生偽隨機數序列。

rand函數在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次調用rand函數生成的偽隨機數序列都是一樣的。

srand(unsigned seed)函數通過參數seed來改變系統提供的種子值,從而可以使得每次調用rand函數生成的偽隨機數序列不同,從而實現真正意義上的「隨機」。

通常可以利用系統時間來改變系統的種子值,即srand(time(NULL)),可以為rand函數提供不同的種子值,進而產生不同的隨機數序列。

(6)c語言中srand函數擴展閱讀:

rand()函數的使用注意事項:

1、使用該函數首先應在開頭包含頭文件stdlib.h。

2、在標準的C庫中函數rand()可以生成0~RAND_MAX之間的一個隨機數,其中RAND_MAX 是stdlib.h 中定義的一個整數,它與系統有關。

3、rand()函數沒有輸入參數,直接通過表達式rand()來引用。

4、因為rand()函數是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以C語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數。

5、為了使程序在每次執行時都能生成一個新序列的隨機值,我們通常通過偽隨機數生成器提供一粒新的隨機種子。函數 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同,rand()函數就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。

G. 請教C語言中srand隨機函數

呵呵,這個是我遇到過的問題,並進行了一些研究。其實這是因為srand()函數是一個隨機數產生函數,其意思就是指C語言里的隨機數都是由它來控制產生的!!!如果在應用srand()函數之前就用隨機函數rand(),則相當於使用了srand(1);
而將srand( (unsigned)time( NULL ) );這條語句放在了for循環里,即是用了srand( (unsigned)time(0 ));故此句語句不變的話,產生的隨機數就不變!!!不懂的話可以問我!

H. C語言中srand隨機函數怎麼用

在c語言裡面,兩個函數包含在頭文件裡面,c++裡面,標准庫(被包含於中). srand函數是隨機數發生器的初始化函數。 原型:void srand(unsigned seed); rand函數用來產生隨機數,當然是偽隨機數。

I. c語言中 srand(time(NULL)); 這句話是什麼意思(尤其是 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()配合使用產生偽隨機數序列。

(9)c語言中srand函數擴展閱讀:

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、返回值:無