c语言函数执行过程求教:
小弟编写了三个子函数,a——b——c,这三个子函数同时在d函数中被调用
void D()
{
函数a;
函数b;
函数c;
}
由于abc这三个函数里面通过系统时间要产生随机数;但是这样编写的话,abc函数获得的系统时间相同,所以产生的随机数也相同,如何解决这个问题??
不知道应该在百度上搜索什么名词,希望大家告诉一下,谢谢
将随机数种子放在这三个函数外面就行了,就像下面这样:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int a()
{
int a = rand();
printf("%d\n", a);
}
int b()
{
int b = rand();
printf("%d\n", b);
}
int c()
{
int c = rand();
printf("%d\n", c);
}
int main()
{
srand(time(NULL));
a();
b();
c();
return 0;
}
楼上正解 srand只调一次就好