1. rand函数的使用要包含头文件:stdlib.h
2. rand函数会返回一个伪随机数,范围在0到RAND_MAX(大部分编译器上是32767)
3. 生成a~b的随机数: a+rand()%(b-a+1)。例如:rand()%100,表示生成0~99之间的随机数
4. 因为rand函数的种子默认是1,所以每次生成的随机值无论运行多少次,总是不变的,如果要生成不同的随机数,就要让种子变化,C语言中又提供了一个函数srand,是用来初始化随机数的生成器。程序在调用rand函数之前要先调用srand函数,通过srand函数的参数seed来设置rand函数生成随机数的时候的种子,只要种子在变化,每次生成的随机数序列就会变化。
5.在程序中,我们一般是使用程序运行的时间作为种子的,因为时间一直在变化,我们就可以用time函数来获得这个时间。说白了就是使用time函数的返回值设置种子,time函数使用的时候需要头文件:time.h
6.如果你懒得看上面5条,直接在main函数中写上 srand((unsigned int)time(NULL)); 即可使每次生成的随机值都不一样
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
//因为srand的参数是unsigned int 类型,我们将time函数的返回值强制类型转换
srand((unsigned int)time(NULL));
printf("%d\n", rand());
printf("%d\n", rand());
printf("%d\n", rand());
printf("%d\n", rand());
return 0;
}
由结果可看出,每次生成的随机值就不一样了,学会了如何生成随机值,尝试写一个猜数字游戏吧。