c语言函数执行过程求教:

c语言函数执行过程求教:
小弟编写了三个子函数,a——b——c,这三个子函数同时在d函数中被调用
void D()
{

函数a;
函数b;
函数c;
}
由于abc这三个函数里面通过系统时间要产生随机数;但是这样编写的话,abc函数获得的系统时间相同,所以产生的随机数也相同,如何解决这个问题??
不知道应该在百度上搜索什么名词,希望大家告诉一下,谢谢

c

2个回答

将随机数种子放在这三个函数外面就行了,就像下面这样:

 #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只调一次就好

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!