【发布时间】:2013-11-27 05:53:25
【问题描述】:
我不知道这到底是怎么回事。我只知道它是一个产生随机数的函数。
那么你能向我解释一下整个代码吗? 这是 K&R C 编程语言第 2 版书籍的第 46 页。
unsigned long int next = 1;
/* rand: return pseudo-random integer on 0..32767 */
int rand(void)
{
next = next * 1103515245 + 12345; /*What the heck is this line doing?????? */
return (unsigned int) (next/65536) % 32768; /*This line, too, I have no idea.. */
}
/* srand: set seed for rand() */
void srand(unsigned int seed)
{
next = seed;
}
【问题讨论】: