C 库 - srand() 函数



C 的stdlibsrand()函数用于初始化或设置'rand()'函数的种子,允许我们生成不同的随机数序列。默认情况下,rand() 函数的种子值为 1。

语法

以下是srand()函数的 C 库语法:

void srand(unsigned int seed)

参数

此函数接受单个参数:

  • seed − 一个无符号整数,表示种子值。

返回值

此函数不返回任何值。

示例 1

让我们创建一个基本的 C 程序来演示srand()函数的使用。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
   // Set seed based on current time
   srand(time(NULL)); 
   int i;
   for (i = 0; i < 10; i++) {
      int value = rand();
      printf("%d ", value);
   }
   return 0;
}

输出

以下是输出结果,它总是显示随机数:

22673 30012 9907 5463 13311 32059 17185 6421 15090 23066

示例 2

以下是一个另一个示例,我们将生成特定范围内的随机数。使用srand()rand()函数。

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main() {
   // Lower bound
   int lb = 20; 
   // Upper bound
   int ub = 100;
   
   // Initialize random seed based on current time
   srand(time(NULL)); 
   
   int i;
   for (i = 0; i < 5; i++) {
      // Generate a random number between lb and ub (inclusive)
      printf("%d ", (rand() % (ub - lb + 1)) + lb );
   }
   return 0;
}

输出

以下是输出结果,它总是显示随机数:

44 77 70 86 75
广告