本文介绍了即使在不同的机器上,random或rand函数也会打印相同的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想打印一个1到6范围内的随机数.我有以下代码.

I want to print a random number in the range 1 to 6. I have the following code.

printf("The random value is %d \n",random(6));

每次运行代码时,它都会打印1804289383.即使在不同的机器上.我也试过rand(6)仍然输出相同.即使我删除了6,输出也不会改变.请建议如何解决

It is printing 1804289383 every time I run the code. Even on different machines. I also tried rand(6) still output is same. Even I removed 6, output does not change. Please suggest how to fix it

预先感谢

Sanket

推荐答案

您应该在rand()之前使用srand()来每次生成新数字.这段代码将显示如何做到这一点:

You shoud have srand() before rand() to generate new numbers each time. This code will show how do that:

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

int main()
{
    srand(time(0));
    printf("The random value is %d\n", 1 + rand() % 6);
    return 0;
}

这篇关于即使在不同的机器上,random或rand函数也会打印相同的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-26 07:48