c語言之rand函數(shù)的使用
琬琰子
c語言中的rand隨機(jī)數(shù)函數(shù),是按指定順序來產(chǎn)生的,在生成隨機(jī)數(shù)之前,在stdlib.h頭文件中,會初始化函數(shù)srand,根據(jù)隨機(jī)種子seed,來獲取隨機(jī)數(shù),如果seed不變,每次運行得到的隨機(jī)數(shù)會是一樣的,因此,rand函數(shù)也被大家叫做偽隨機(jī)數(shù)。下面就來介紹下rand函數(shù)的使用
打開代碼編譯器,輸入如下所示的代碼片段
運行該代碼片段,得到10個隨機(jī)數(shù),但是我們發(fā)現(xiàn),不論運行幾次,生成的隨機(jī)數(shù)都是這10個,也就是說,在種子seed不變的情況下,生成的隨機(jī)數(shù)是偽隨機(jī)數(shù)
我們引入頭文件time.h,取時間戳作為seed的取值來源,改代碼片段如下,將srand(1)改成srand(time(NULL))
運行代碼,得到10個隨機(jī)數(shù)如下,定義非常量的srand參數(shù),可以避免偽隨機(jī)數(shù)的產(chǎn)生