ylxd41 2017-08-10 14:26 采纳率: 0%
浏览 985

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

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

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

  • 写回答

2条回答 默认 最新

  • samoyedsun 2017-08-10 23:07
    关注

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

     #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; 
    }
    
    评论

报告相同问题?