C 使一个函数中的随机值在每次运行时相同,而另一个函数中的随机值在每次运行时不同
我搜索了网络,它显示了srand()方法,用于为每次运行生成新的随机值,而我使用简单的rand()方法在每次运行中生成相同的随机数,但我希望在程序中的不同位置使用这两种功能。C 使一个函数中的随机值在每次运行时相同,而另一个函数中的随机值在每次运行时不同,c,random,random-seed,time.h,C,Random,Random Seed,Time.h,我搜索了网络,它显示了srand()方法,用于为每次运行生成新的随机值,而我使用简单的rand()方法在每次运行中生成相同的随机数,但我希望在程序中的不同位置使用这两种功能。 这就是我尝试过的: #include <stdio.h> #include <stdlib.h> #include <time.h> void first() { printf("these random values should be same for ever
这就是我尝试过的:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void first()
{
printf("these random values should be same for every run\n");
for(int i = 0; i<4; i++)
printf(" %d ", rand()%4);
printf("\n");
}
void second()
{
srand(time(0));
printf("these random values should be different for every run\n");
for(int i = 0; i<4; i++)
printf(" %d ", rand()%4);
printf("\n");
}
int main(void)
{
first();
second();
return 0;
}
#包括
#包括
#包括
首先无效()
{
printf(“每次运行时这些随机值应相同\n”);
对于(int i=0;i新的随机值,…每次运行中相同的随机数
Use可以在两种情况下都使用srand()
,只需在其中使用常量
种子即可:
void first(void)
{
srand(3);//use constant argument for _same_ random values
printf("these random values should be same for every run\n");
for(int i = 0; i<4; i++)
printf(" %d ", rand()%4);
printf("\n");
}
void second(void)
{
srand(time(0));//use variable argument for _new_ random values
printf("these random values should be different for every run\n");
for(int i = 0; i<4; i++)
printf(" %d ", rand()%4);
printf("\n");
}
先作废(作废)
{
srand(3);//对_same_随机值使用常量参数
printf(“每次运行时这些随机值应相同\n”);
对于(int i=0;i您的问题是什么,代码似乎对我有效,srand
获取种子值,在第一个函数中将其硬编码为某个特定值,并在第二个函数中使用time
函数。这是否回答了您的问题?@Ôrel抱歉,我没有正确检查它@Ôrel它正在按我希望的方式工作。