srand(time(NULL)) c語言中語句srand(time(NULL))什么意思?
c語言中語句srand(time(NULL))什么意思?在C語言中,srand((time(null))語句意味著設(shè)置一個隨機(jī)種子,它可以確保每次隨機(jī)種子都是不同的。在C語言中,rand()函數(shù)可以用
c語言中語句srand(time(NULL))什么意思?
在C語言中,srand((time(null))語句意味著設(shè)置一個隨機(jī)種子,它可以確保每次隨機(jī)種子都是不同的。在C語言中,rand()函數(shù)可以用來生成隨機(jī)數(shù),但它不是一個真正的隨機(jī)數(shù)。它是一個偽隨機(jī)數(shù)。它是基于一個數(shù)字。我們可以稱之為種子。它是通過遞歸公式計算的系數(shù)。但它不是一個真正的隨機(jī)數(shù)。當(dāng)計算機(jī)正常啟動時,種子的值是固定的,除非您銷毀它,否則系統(tǒng)將設(shè)置為更改此種子的值。因此,C提供了srand()函數(shù),其原型是void srand(int a)。更改種子值。srand((time(null))中的time(null)函數(shù)是獲取1900年1月1日到現(xiàn)在的秒數(shù),這樣每次運行程序的不同時間可以保證得到不同的隨機(jī)數(shù)。
c語言中srand(time(NULL)) 這句話是什么意思(尤其是NULL)?
這是兩個函數(shù)的調(diào)用,一個是srand(unsigned int),另一個是time(long*t)。在這里它們被寫在一起。時間函數(shù)的返回值是srand函數(shù)的參數(shù),null是時間函數(shù)的輸入?yún)?shù)。Time函數(shù)要求參數(shù)是指針,因此使用null。Null表示指針不知道指向任何變量,0是int如果必須使用0,還可以強(qiáng)制轉(zhuǎn)換srand((unsigned)time((long*)0))