问个rand()函数的具体操作

远志999 2004-01-14 02:22:27
谢谢
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharkhuang 2004-01-15
  • 打赏
  • 举报
回复
要有随即种植才行
Aofa_lee 2004-01-14
  • 打赏
  • 举报
回复
rand()它是用于生成介于0和RAND-MAX之间的伪随机整数序列!
远志999 2004-01-14
  • 打赏
  • 举报
回复
rand()的参数和返回值是什么啊???
sevencat 2004-01-14
  • 打赏
  • 举报
回复
不同系统不同实现。
vc2003的实现

#ifndef _MT
static long holdrand = 1L;
#endif /* _MT */

int __cdecl rand (
void
)
{
#ifdef _MT

_ptiddata ptd = _getptd();

return( ((ptd->_holdrand = ptd->_holdrand * 214013L
+ 2531011L) >> 16) & 0x7fff );

#else /* _MT */
return(((holdrand = holdrand * 214013L + 2531011L) >> 16) & 0x7fff);
#endif /* _MT */
}


//srand实现
void __cdecl srand (
unsigned int seed
)
{
#ifdef _MT

_getptd()->_holdrand = (unsigned long)seed;

#else /* _MT */
holdrand = (long)seed;
#endif /* _MT */
}

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧