1. 程式人生 > >C語言中的隨機數(RAND 與 SRAND 之間的關係)

C語言中的隨機數(RAND 與 SRAND 之間的關係)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//字串陣列的時候用
//隨機數產生函式rand與srand
//rand()這個函式繫結的是一個整數
//隨機數產生器,但是rand這個函式有一個缺陷,那就是儘管rand()產生是隨機數,但是這些隨機數是固定的(也就是說每次的隨機數都是一樣的)
//如果呼叫rand之前先呼叫srand就可以出現任意的輸出
//但是srand()這個函式是用引數的
//只要能保證每次呼叫srand函式的時候,引數的值是不同的,那麼rand函式就一定會產生不同的隨機數
//<time.h>這個標頭檔案下的time()返回值是一個聚合函式
int main()
{
    time_t tm = time(NULL);//得到系統時間
    srand(tm);//隨機數種子發生器,只要tm這個種子不一樣,那麼呼叫的他這個rand()產生的數就不一樣
    int i = 0;
    int math = 0;
    for(i=0;i<10;i++)
    {
        math = rand();//隨機數產生器,但是rand這個函式有一個缺陷,那就是儘管rand()產生是隨機數,但是這些隨機數是固定的(也就是說每次的隨機數都是一樣的)
        printf("[%d]\n", math);
    }    
    
    system("pause");
    return 0;
    
}