函数rand所产生的随机数实际上是伪随机数,即反复调用函数rand所产生的一系列数似乎是随机的,但每次执行程序所产生的序列则是重复的。要产生真正的随机数序列,必须在每一次运行前为rand函数提供不同的种子,这是由srand函数提供的。
所以加上srand(time(NULL))就可以产生真正的随机数了。
#include <stdlib.h>
#include <stdio.h>
#include<conio.h>
#include <time.h>
int main(void)
{
int i;
srand(time(NULL));
printf("Ten random numbers from 0 to 99/n/n");
for(i=0; i<10; i++)
printf("%d/n", rand()%100);
getch();
return 0;
}
所以加上srand(time(NULL))就可以产生真正的随机数了。
#include <stdlib.h>
#include <stdio.h>
#include<conio.h>
#include <time.h>
int main(void)
{
int i;
srand(time(NULL));
printf("Ten random numbers from 0 to 99/n/n");
for(i=0; i<10; i++)
printf("%d/n", rand()%100);
getch();
return 0;
}

本文介绍如何通过调用srand函数结合当前时间作为种子来生成一系列真正的随机数。通常,rand函数产生的序列在每次运行时都是相同的,通过srand(time(NULL))则可以确保每次运行程序时产生的随机数序列不同。
1万+

被折叠的 条评论
为什么被折叠?



