C語言中的隨機數(RAND 與 SRAND 之間的關係)
阿新 • • 發佈:2019-01-22
#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;
}