我的程序包含的代码应该在我每次执行时生成一个随机正整数。它生成随机数,但只生成一次。之后,当我执行相同的代码时,它给了我相同的值,这使我的代码无用。
我从rand函数开始,然后将srand()函数与time.h头文件一起使用,但仍然无法正常工作。
#define size 10
for(i=0;i<size;i++)
Arr[i] = rand()%size;
第一次调用(随机):
6 0 2 0 6 7 5 5 8 6
第二次调用(随机但与之前相同):
6 0 2 0 6 7 5 5 8 6
后来我访问了 Stack Overflow 问题并阅读了有关 srand() 函数的信息,并将其用作:
#include<time.h>
for(i=0;i<size;i++)
Arr[i] = srand(time(NULL));
第一次调用:
-10327 -10327 -10327 -10327 -10327 -10327 -10327 -10327 -10327 -10327
第二次调用:
-10326 -10326 -10326 -10326 -10326 -10326 -10326 -10326 -10326 -10326
它给了我不同的(但不是随机值)。我已将Arr[i] 定义为 unsigned int,但我仍然得到负值。