本文主要是介绍srand()和rand(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
srand()是随机数种子,s表示seed,种子的意思。
rand()可以产生0到RAND_MAX(32767)之间的随机数,用rand()%x可以得到0到x之间的随机数。
srand()和rand()都需要用到stdlib.h。
srand()的种子主要有两种,srand(1)和srand((unsigned)time(NULL)),前者生成的随机数每次都是相等的,后者则是根据现在在走的时间取的随机数,是真随机数。
附上验证代码:
#include<iostream>
#include<vector>
#include<time.h> //是C/C++中的日期和时间头文件。用于需要时间方面的函数
#include<stdlib.h> //定义了RAND_MAX,srand()等
using namespace std;int main() {srand(1);for (int i = 0; i < 10; ++i) {cout << rand() << ' ';}cout << endl;
}
运行了三次,输出的都是下面的结果:
#include<iostream>
#include<vector>
#include<time.h> //是C/C++中的日期和时间头文件。用于需要时间方面的函数
#include<stdlib.h> //定义了RAND_MAX,srand()等
using namespace std;int main() {srand((unsigned)time(NULL)); //srand((unsigned)time(0))也可for (int i = 0; i < 10; ++i) {cout << rand()%10 << ' ';}cout << endl;
}
运行三次,结果各异:
这篇关于srand()和rand()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!