C ++随机数0 - 16

时间:2014-11-12 22:42:03

标签: c++ random

我正在上班的刽子手游戏,我在获取随机数时遇到了麻烦。 每次我运行代码我得到相同的数字。不知道这里有什么问题,什么都有帮助。

string pickWord(){
    int random = rand() % 17;
    string word = ::wordList[random];
    cout << word << endl;
    return word;
} 

1 个答案:

答案 0 :(得分:4)

你必须随着时间随机播种,否则它将永远是相同的。

看看这个:

http://www.cplusplus.com/reference/cstdlib/srand/

您的代码应如下所示

string pickWord(){
    srand (time(NULL));
    int random = rand() % 17;
    string word = ::wordList[random];
    cout << word << endl;
    return word;
} 

并且您还必须添加包含

#include <time.h> 

这样,随机将取决于时间,运行时间,而不是编译时间。