rand ()-rand_r ()- 生成随机编号

格式

#include <stdlib.h>
int rand(void);
int rand_r(unsigned int *seed);

语言级别

ANSI

线程安全

False

rand () 不是线程安全的,但 rand_r () 是。

描述

rand() 函数生成范围为 0范围最大值 (在 <stdlib.h>中定义的宏) 的伪随机整数。 在调用 rand() 之前使用 srand() 函数 来设置随机数生成器的起始点。 如果未首先调用 srand() 函数,那么缺省种子值为 1。
注: rand_r() 函数是 rand()的可重新启动版本。

返回值

rand() 函数返回伪随机数。

示例

此示例打印生成的前 10 个随机数。
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
   int x;
 
   for (x = 1; x <= 10; x++)
      printf("iteration %d, rand=%d\n", x, rand());
}
 
/*********************  Output should be similar to:  ************
 
iteration 1, rand=16838
iteration 2, rand=5758
iteration 3, rand=10113
iteration 4, rand=17515
iteration 5, rand=31051
iteration 6, rand=5627
iteration 7, rand=23010
iteration 8, rand=7419
iteration 9, rand=16212
iteration 10, rand=4086
*/

相关信息