rand函數和srand函數是C++標準庫中用于生成隨機數的兩個函數。
- rand函數:
- rand函數用于生成一個偽隨機數,取值范圍在0到RAND_MAX之間(RAND_MAX在stdlib.h中定義)。
- 每次調用rand函數都會生成一個新的隨機數,但是生成的隨機數序列是固定的,即如果使用相同的種子值調用srand函數,那么生成的隨機數序列將是一樣的。
- 如果不調用srand函數,rand函數的默認種子值是1。
- srand函數:
- srand函數用于設置rand函數生成隨機數的種子值。
- 如果在程序中不設置種子值,則默認的種子值是1,這樣每次生成的隨機數序列都是一樣的。
- 通常在程序中使用當前時間作為種子值,以保證每次運行程序生成的隨機數序列都是不同的。
總的來說,rand函數用于生成隨機數,而srand函數用于設置生成隨機數的種子值。通過調用srand函數設置不同的種子值,可以得到不同的隨機數序列。