random或rand函数打印相同的值,即使在不同的机器中也是如此

San*_*Lad 3 c random

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

printf("The random value is %d \n",random(6));
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

SANKET

Mih*_*yan 5

你有768,16 srand()之前rand()产生新的号码各一次.此代码将显示如何执行此操作:

# 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;
}
Run Code Online (Sandbox Code Playgroud)

  • 并确保在主函数中只使用一次srand! (2认同)