小編給大家分享一下c語言中srand(time(0))函數指的是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
標準庫定義了一組隨機數引擎類和適配器,使用不同數學方法生成偽隨機數。標準庫還定義了一組分布模板,根據不同的概率生成隨機數。引擎和分布類型的名字都與它們的數學性質是相對應的。
但是我們今天就接觸一點點最基礎的知識。
計算機沒有辦法產生真正的隨機數的,是用算法模擬,所以你只調用rand,每次出來的東西是一樣的。設置一個種子后,根據種子的不同,就可以產生不同的數了。而怎么保證種子的不同呢?最簡單的辦法當然是用永遠在向前的時間。
srand(time(0)) ;//先設置種子 rand();//然后產生隨機數
Srand是種下隨機種子數,你每回種下的種子不一樣,用Rand得到的隨機數就不一樣。為了每回種下一個不一樣的種子,所以就選用Time(0),Time(0)是得到當前時時間值(因為每時每刻時間是不一樣的了)。
srand(time(0)) ;就是給這個算法一個啟動種子,也就是算法的隨機種子數,有這個數以后才可以產生隨機數,用1970.1.1至今的秒數,初始化隨機數種子。
參考案例
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main ( void )
{
int i;
srand(time(0));
/* 輸出 10 個隨機數. */
for (i = 0; i < 10; i++)
printf( "%6d/n", rand());
}輸出結果:
22614
15772
30620
24913
7556
31659
27876
27229
25083
16564看完了這篇文章,相信你對c語言中srand(time(0))函數指的是什么意思有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。