溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言中srand(time(0))函數指的是什么意思

發布時間:2020-11-20 14:16:12 來源:億速云 閱讀:1028 作者:小新 欄目:編程語言

小編給大家分享一下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))函數指的是什么意思有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女