我写了下面的C代码,当我循环时,它返回一个随机数。如果myrand()被执行,我怎样才能达到5个不同的随机值?兰德与种子不返回随机函数循环
#include <stdio.h>
#include <stdlib.h>
int myrand() {
int ue_imsi;
int seed = time(NULL);
srand(seed);
ue_imsi = rand();
return ue_imsi;
}
int main()
{
int value = 0;
int i=0;
for (i=0; i< 5; i++)
{
value =myrand();
printf("value is %d\n", value);
}
}
Seed **曾经**在你的生活中,而不是所有的时间。 –
您正在使用相同数字重复初始化随机数生成器(只要'time(NULL)'返回相同的值)。不要这样做,如果你想让数字看起来像随机。还要记住'#include'为'time()'原型。 –
pmg
[总是重复的数字由rand()给出的可能的重复](http://stackoverflow.com/questions/4859089/always-repeated-numbers-given-by-rand)。在提问前请使用SO的搜索功能。 –