ylxd41 2017-08-10 14:26 采纳率: 50%
浏览 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; 
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch