1.time()函数
time()函数返回自1970年1月1日以来的秒数,通常用于获取系统当前的时间戳。调用time()函数时,可以传入一个指向time_t类型变量的指针。如果传入的指针不为空,那么当前的时间值除了作为函数的返回值外,还会存储在这个指针所指向的变量。这样在同一个程序中就可以多次使用这个时间戳,不需要每次都再调用time()函数。此外,time()函数通常与其他时间处理函数结合使用,例如localtime()、gmtime()以获取不同格式的当前系统时间或标准时间。
time(0)是将0作为参数传入time()函数中,返回当前时间戳,但不会保存在任何变量中。time(0)和直接调用time()函数的效果相同。但在某些情况下,使用time(0)能更加明确地表达意图,使代码更易读。
time()函数包含在头文件<time.h>中
2.srand()函数
srand()函数用于生成随机数种子。随机数种子是一个起始数,它决定了随机数序列的起始值。当我们使用相同的种子时,rand()函数将生成相同的随机数序列。通常用当前时间作为种子值,因为它是不断变化的,这样可以保证每次运行时生成的随机数序列都不同。
3.rand()函数
用于随机生成一个随机整数,它会返回一个在0到RAND_MAX之间的整数。(RAND_MAX是一个预定义的常量,通常是32767)要生成一个指定范围内的随机数,可以使用取模运算符%将rand()函数返回值限制在一个范围内。
总结:srand()函数用于生成一个随机数种子,而rand()函数用于生成随机整数,使用rand()函数前,要先用srand()函数设置种子。srand()函数与rand()函数都包含在头文件<stdlib.h>中
例如:生成一个1-100之间的整数
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main() {
int n;
srand(time(0)); /*设置随机数种子*/
n = rand() % 100 + 1;
printf("the number is:%d\n", n); /*生成1-100之间的随机整数*/
return 0;
}