c语言rand()函数
1个回答
展开全部
rand函数功能为获取一个伪随机数。
int rand();所在头文件:stdlib.h
功能:返回一个伪随机数。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序,调用rand得到的随机数序列是固定的(不是真正的“随机”)。
为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。
使用rand的流程可以总结为:
1 调用srand(time(NULL))设置随机数种子。
2 调用rand函数获取一个或一系列随机数。
需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次。
以下是随机获取10个整型值并输出的例子,辅助理解。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int i;
srand(time(NULL));//设置随机数种子。
for(i = 0; i < 10; i ++)//运行10次。
printf("%d\n", rand()%101);//每次获取一个0~100随机整数并输出。
return 0;
}
int rand();所在头文件:stdlib.h
功能:返回一个伪随机数。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序,调用rand得到的随机数序列是固定的(不是真正的“随机”)。
为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。
使用rand的流程可以总结为:
1 调用srand(time(NULL))设置随机数种子。
2 调用rand函数获取一个或一系列随机数。
需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次。
以下是随机获取10个整型值并输出的例子,辅助理解。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int i;
srand(time(NULL));//设置随机数种子。
for(i = 0; i < 10; i ++)//运行10次。
printf("%d\n", rand()%101);//每次获取一个0~100随机整数并输出。
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询