srand((unsigned int) time(NULL));
int num = rand() % 100 + 1;
-
srand
是一个函数,它用于设置随机数生成器的种子。这个种子值会影响到rand()
函数生成的随机数序列。 -
time(NULL)
是获取当前时间的秒数,它返回一个time_t
类型的值。这个值是从1970年1月1日(UNIX纪元)到现在的秒数。 -
(unsigned int)
是一个类型转换,它将time_t
类型的值转换为unsigned int
类型。这是因为srand
函数需要一个unsigned int
类型的参数。 -
所以,
srand((unsigned int) time(NULL));
这行代码的意思是,使用当前时间的秒数(从1970年1月1日开始计算)作为随机数生成器的种子。这样可以确保每次程序运行时,rand()
生成的随机数序列都不同。这是因为时间是持续变化的,所以每次获取的秒数都是不同的,从而使得种子值也不同。这样就可以生成不同的随机数序列了。 -
%100表示在0-99内生成,+1表示在1-100内生成。