rand函數的使用

rand函數的使用

函數說明

函數原型 頭文件 返回值
int rand(void) <stdlib.h> 返回0到RAND_MAX之間的整數值,RAND_MAX的範圍最少在32767之間(int),即雙字節(16位)。若unsigned int雙字節是65535

備註說明:因爲rand的內部是用線性同餘法做的,不是真的隨機數,只不過因爲其週期特別長,所以在一定範圍內可以看成是隨機的,rand()會返回一隨機值,範圍在0到RAND_MAX間,在調用此函數產生隨機數前,必須利用srand()設好隨機數種子,若沒有設隨機數種子,rand()在調用時會自動設隨機數種子爲1。

例子:先看一下不調用srand時,函數的兩次運行結果。
在這裏插入圖片描述
在這裏插入圖片描述

​ 可以看到,如果不調用srand()的話,那麼前後兩次的運行結果都是一樣的,也就是說由於srand默認的隨機數種子爲1,所以,造成了rand()的輸出結果是一致的。

​ 接下來,加入srand(),並且獲取當前的系統時間作爲隨機數種子。

在這裏插入圖片描述
在這裏插入圖片描述

​ 加入了srand()以後,rand()每次的輸出結果都不同了,實現了真正的隨機。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章