用rand函数生成一个十以内的随机数
#include<stdio.h>
#include<stdio.h>
#include<time.h>
int main()
{
int i;
i=rand()%11;
printf("%d\n",i);
return 0;
}
每次输出的数都是8,说明这个数并不是随机出来的。说明这是一个伪随机数。
之所以每次出来的数都一样,是因为rand函数是每次从计算机接受一个随机数种子,用这个种子来产生随机数,而计算机每次给的随机数种子是一样的,所以他每次产生的随机数也就是一样的。
要让他产生真的随机数需要rand函数与srand函数搭配使用,srand函数可以产生一个时间种子,而时间是会变的,并不是每一次的时间都想同,所以他产生的时间种子也是变化的,将这个时间种子传给rand函数,得到的每一次的随机数也就是变化的。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int i;
srand(time(0));
i = rand()%11;
printf("%d\n",i);
return 0;
}
这里的随机数为2
这里的随机数为4