c语言random随机数
时间: 2025-05-01 10:14:31 浏览: 45
### 如何在C语言中生成随机数
在C语言中,`<stdlib.h>`头文件提供了用于生成伪随机数的功能。为了确保每次程序运行时能获得不同的随机序列,通常会使用`srand()`函数配合`time()`函数来设置种子[^1]。
#### `srand` 和 `rand` 函数简介
- **`void srand(unsigned int seed)`**: 初始化随机数发生器,其中`seed`参数决定了后续调用`rand()`所返回数值的起始点。
- **`int rand(void)`**: 返回一个介于0至`RAND_MAX`之间的整型伪随机数,默认情况下最大值为32767(即`INT_MAX`可能更小)。如果希望得到特定范围内的随机数,则需进一步处理该原始输出[^2]。
#### 示例代码展示
下面是一段完整的C语言源码片段,展示了如何利用当前时间戳作为种子来获取一系列不可预测的结果:
```c
#include <stdio.h>
#include <stdlib.h> /* For rand(), srand() */
#include <time.h> /* For time() */
int main()
{
// 使用当前时间为种子初始化随机数生成器
srand((unsigned)time(NULL));
// 获取并打印五个不同范围内随机整数的例子
for (int i = 0; i < 5; ++i)
{
int num = rand();
printf("Random number %d: %d\n", i + 1, num);
// 如果想要限定在一个较小的区间内,比如1到10之间,
// 可以这样做:
/*
int minVal = 1;
int maxVal = 10;
int boundedNum = (num % (maxVal - minVal + 1)) + minVal;
printf("Bounded Random Number (%d-%d): %d\n",
minVal, maxVal, boundedNum);
*/
}
return 0;
}
```
此代码首先通过`time(NULL)`获取系统当前的时间秒数,并将其传递给`srand()`以设定新的种子;之后连续五次调用了`rand()`函数,从而产生了多个看似无规律可循的数据样本[^3]。
阅读全文
相关推荐



















