我正在制作Jumble计划。当打印这个单词时,我会得到一个随机数字。我得到了我尝试取消引用它的字符串的内存位置,但我得到的字没有改组,每次都是相同的字符串。
while(command != "quite")
{
string wordr;
srand(time(NULL));
int randomnes = rand()%7;
wordr = word[randomnes];
random_shuffle(wordr.begin(),wordr.end());
cout<<word<<endl;
cin>>command;
if(wordr==command)
{
cout<<"correct\n";
}
else
{
cout<<"wrong"<<endl;
}
}
Word是一个字符串数组。在我打印字符之前,如果我打印出来的话,我就不会有任何错误。所以在行内的某些内容会随机播放。但是,当我尝试尝试这样的事情时
string something ="something"
random_shuffle(something.begin(),something.end());
它会像预期的那样洗牌。