gpt4 book ai didi

c++ - 当我尝试设置一个已经设置的变量时游戏崩溃

转载 作者:行者123 更新时间:2023-11-28 07:55:01 25 4
gpt4 key购买 nike

我尝试查找与设置已设置导致崩溃的变量有关的内容,但我没有找到与此相关的内容。

Rextblock 是用户输入的数字。如果文本 block 等于 1,则返回 numbermax 和 2 之间的随机数。

if ( textblock == 1 )
{
int rand1 = rand() %(numbermax - 2) + 2;
int textbox = rand1;
}

当我为文本 block 输入 1 时它崩溃了,我很确定是这段代码导致的。

using namespace std;

int main(int argc, char *argv[])
{
srand(time(NULL));


int numbermax = 2;



while (while1 < 1)
{
cout << "input the number of the text block you wish to use, \n ";
int textblock;
cin >> textblock;

if ( textblock != 0 )
{

}

if ( textblock == 1 )
{
int rand1 = rand() %(numbermax - 2) + 2;
int textbox = rand1;
}

if (textblock == 2)
{

}

if (textblock == 2)
{

}


if( textblock == 0 )
{

}

if ( textblock == 1 )
{
cout << " \n error, try again \n";
}

最佳答案

我高度怀疑当你运行它时,numbermax 等于 2。这会导致 numbermax - 2 等于零,并使用 rhs 为 0 的模数调用除以 0,这是未定义的行为,因此很可能发生崩溃。

您应该通过检查 if (numbermax != 2) 来确保它最终不会这样做。

关于c++ - 当我尝试设置一个已经设置的变量时游戏崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12875927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com