rand()函数是C语言中的一个随机数生成函数,用于生成一个伪随机数。在使用rand()函数时,如果不设置随机数种子,每次程序运行时生成的随机数序列都是相同的。因此,在while循环中多次调用rand()函数时,可能会得到相同的数字。
为了解决这个问题,可以在循环之前使用srand()函数设置随机数种子。srand()函数需要传入一个参数,一般可以使用time(NULL)函数获取当前时间作为种子,确保每次运行程序时都会生成不同的随机数序列。示例代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 设置随机数种子
int i = 0;
while (i < 10) {
int num = rand(); // 生成随机数
printf("%d\n", num);
i++;
}
return 0;
}
这样,每次运行程序时,while循环中调用rand()函数生成的随机数就会不同。
需要注意的是,for循环中使用rand()函数同样会遇到相同的问题,解决方法也是一样的,即在循环之前使用srand()函数设置随机数种子。
关于rand()函数的更多信息,可以参考腾讯云的开发者文档:rand()函数介绍。
领取专属 10元无门槛券
手把手带您无忧上云