ylxd41
ylxd41
采纳率50%
2017-08-10 14:26 阅读 978

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • SamoyedSun 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; 
    }
    
    点赞 评论 复制链接分享
  • qq_38204686 das白 2017-08-11 02:00

    楼上正解 srand只调一次就好

    点赞 评论 复制链接分享

相关推荐