gpt4 book ai didi

c++ - 字符串数组导致 C++ 程序崩溃

转载 作者:行者123 更新时间:2023-12-02 03:10:37 25 4
gpt4 key购买 nike

我正在为我的编程课开发一个多功能程序,其中一个函数需要使用字符串数组。

目标是将 10 个名字存储在一个数组中,然后让用户输入一个随机确定“获胜”名字的数字。

唯一的问题是,一旦我执行代码,程序就会在完成 10 次循环以获取名称后崩溃。这是我试图确定的主要问题,即导致崩溃的原因。

整个程序要大得多,但相关代码如下所示。

string Name1, Name2, Name3, Name4, Name5, Name6, Name7, Name8, Name9,     Name10, tempName, winName;

string array[10] = {Name1, Name2, Name3, Name4, Name5, Name6, Name7, Name8, Name9, Name10};

int tempNum = 0;
int winNum;
int userEntry;
int userSelection;

for (int test = 0; test < 11; test++)
{
cout << "Enter a name: ";
cin >> tempName;

array[tempNum] = tempName;
tempNum++;
}

//The program crashes at this exact spot, right after collecting the 10th name

cout << endl;
cout << "Now choose a random number between 1 and 100: ";
cin >> userEntry;

winNum = static_cast<int>(userEntry * 3.14159 + 12.7 * 10) % 10;

winName = array[winNum];

cout << endl;
cout << "The winner of the game is" << winName << "!" << endl;

最佳答案

在 for 循环中,您尝试访问 array[10]而这并不存在,因为数组只有 10 个元素,从 0 到 9。这就是你的程序崩溃的原因。

将 for 循环中的条件从 for (int test = 0; test < 11; test++) 更改为至for (int test = 0; test < 10; test++)它应该可以工作。

关于c++ - 字符串数组导致 C++ 程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31931974/

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