【发布时间】:2014-09-27 22:53:56
【问题描述】:
您好,我正在尝试生成一些稍后将转换为字符的随机数。问题是 rand() 生成的数字总是返回相同的,尽管我使用 time(0) 作为 rand() 的种子。
int randomNumber(int min, int max)
{
srand(time(0));
int rndm = (rand()%(max-min))+min;
cout<<rndm<<" ";
return 0;
}
假设我随机生成了 3 次
int main()
{
randomNumber(0,5);
randomNumber(0,5);
randomNumber(0,5);
}
产生的数字将是 1 1 1 或 2 2 2 等。知道吗?谢谢
【问题讨论】:
-
不要每次都播种!只播一次!
-
在
main()中只调用一次srand()。