Moncel
2021-08-17 14:11
采纳率: 100%
浏览 56

C语言,rand()随机数为什么一直出现两个一样的 而且每次递加3。

img

  • 收藏

3条回答 默认 最新

  • 八云黧 2021-08-17 14:31
    已采纳

    问题出在time函数返回秒数,而Sleep是毫秒休眠,两个500ms恰好是1s
    随机数你应该了解,是伪随机,根据seed来生成,那么传入seed相同就会得到相同的结构
    所以近似认为你的循环每两次迭代seed+1,可能在rand的伪随机算法中表现为+3了

    1 打赏 评论
  • 快乐鹦鹉 2021-08-17 14:25

    把srand放到for循环外面

    1 打赏 评论
  • qq_708907433 2021-08-17 14:29

    srand 函数放在 for 前面,不能在循环里

    1 打赏 评论

相关推荐 更多相似问题