Linux 随机数
一、rand函數(shù)
rand函數(shù)的簡(jiǎn)單使用,rand()返回一個(gè)[0, RAND_MAX]中的隨機(jī)數(shù)
#include <stdlib.h> #include <stdio.h> #include <time.h>int main() {printf("%d\n", RAND_MAX);//srand(time(NULL));for(int i = 0; i < 5; i++){printf("%d\n", rand());}return 0 ; }運(yùn)行結(jié)果
?
二、srand函數(shù)
rand得到的隨機(jī)數(shù)只是一個(gè)偽隨機(jī)數(shù),由算法得到的,且存在一個(gè)問(wèn)題,當(dāng)我們?cè)僖淮芜\(yùn)行時(shí)會(huì)發(fā)現(xiàn)和上一次得到的隨機(jī)數(shù)時(shí)一樣的
這是因?yàn)閞and內(nèi)部實(shí)際是通過(guò)一個(gè)種子進(jìn)行一些算法得到的值,默認(rèn)為1,種子相同,算法相同,所以每次得到的值相同!
于是就用到了srand函數(shù),為rand函數(shù)設(shè)置隨機(jī)種子,傳入一個(gè)值,可以傳入時(shí)間,保證不相同!
#include <stdlib.h> #include <stdio.h> #include <time.h>int main() {printf("%d\n", RAND_MAX);srand(time(NULL));for(int i = 0; i < 5; i++){printf("%d\n", rand());}return 0 ; }這樣每次運(yùn)行程序時(shí)得到的值不再相同!
?
轉(zhuǎn)載于:https://www.cnblogs.com/external/p/10381257.html
總結(jié)
- 上一篇: springboot 获取控制器参数的几
- 下一篇: Notepad++连接VMWare中Li