【发布时间】:2018-09-25 19:46:18
【问题描述】:
当使用冒泡排序方法对我的数组从小到大进行排序时,它会输出一个意外的值:-858993460。
在调试器中,系统提示我“围绕变量 'numb 的堆栈已损坏'。
我目前正在使用 Visual Studio 来运行代码。
我还在一个新项目中运行了相同的代码,但没有结果。
#include <iostream>
int main()
{
int length = 6;
int temp = 0;
int end = 6;
int numb[] = { 6, 5, 4, 3, 2, 1 };
for (int counter = length - 1; counter > 0; counter--)
{
for (int i = 0; i < end; i++)
{
if (numb[i] > numb[i + 1])
{
temp = numb[i + 1];
numb[i + 1] = numb[i];
numb[i] = temp;
}
}
for (int i = 0; i <= 5; i++)
{
std::cout << numb[i] << " ";
}
std::cout << "\n";
end--;
}
system("pause");
}
【问题讨论】:
-
当
i == 5时想想numb[i + 1]。 -
你应该学会使用VS优秀的调试器来单步调试你的代码,观察所有变量的变化等等。
-
您建议在哪里查找有关学习 vs 调试器的信息?
标签: c++ arrays sorting bubble-sort