一个关于C语言中rand()和srand的问题,有点奇怪

来源:百度知道 编辑:UC知道 时间:2024/05/10 09:47:33
我摘录一下内容:

int chosen=0;
int guess=0;
int count=3;
int limit=10;

srand(time(NULL));
chosen=1+rand()%limist;
上面的意思我是知道的,但有一个疑惑,为什么srand()函数返回的值会自动的作为rand()函数的参数,可不可以把赋值运算改为chosen=1+rand((srand(time(NULL))),可以这样吗?另外也帮忙回答

srand(time(NULL));
chosen=1+rand()%limist;
这样可行性的原因 解释的清楚多给分

不可以,
srand()产生的随机种子不是传递给rand函数的,而是传递给操作系统的,
然后rand调用操作系统内部的伪随机数生成器产生随机数,
所以srand和rand之间并未有直接关系,所以你的说法是错误的。