我想产生一个随机数的随机数,但它不应该是一个特定的编号。所以我传递的数字不应该是随机数以及它必须生成的范围到函数中,并且如果生成的随机数是不应该生成的数字,我将重新调用函数,所以这个花了很长时间,导致我的程序被终止。我正在使用下面的代码,让我知道如何有效地生成随机数,而无需等待很长时间,甚至无需重新调用函数。生成用C
这里等级-1是传递给它的数量,这不应该产生和尺寸1是数字,表示最大允许值
int rgenerator(int rank1, int size1)
{
int iseed, k;
time_t seconds;
time(&seconds);
iseed=(unsigned int) seconds;
srand(iseed);
k=rand()%size1;
if(k!=rank1)
return k;
else
rgenerator(rank1,size1);
}
这是什么???断言 – user1020111
如果条件不成立,他们会停止程序。非常有用的调试,但正如我所说,在你的水平,你应该改变'assert(x)'为'if(!(x))返回0;'或者甚至返回-1并检查代码中的错误情况调用这个方法。 – Kevin