gpt4 book ai didi

c++ - 运行时检查失败 #2 "numbers"周围的堆栈已损坏

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

程序执行并输出排序后的数组,但是程序崩溃了。请帮助我理解为什么以及如何修复。语言和环境是win7上的c++和VS。

//test for ordering  numbers
#include <iostream>

using namespace std;

int main()
{
int numbers[3];

numbers[0] = 33;
numbers[1] = 13;
numbers[2] = 23;

int i = 0;
int temp = 0;

for(int i = 0; i < 3; i++)
{
if(numbers[i] > numbers[i+1])
{
temp = numbers[i];
numbers[i] = numbers[i+1];
numbers[i+1] = temp;
temp = 0;

}
}
}

最佳答案

在您的 for 循环中,当 i 为 2 时,您正在访问 numbers[3]超出范围 访问。

请记住,当您声明 int numbers[3] 时,您声明了一个包含 3 个元素的数组:numbers[0]numbers[1]numbers[2]

关于c++ - 运行时检查失败 #2 "numbers"周围的堆栈已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307397/

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