我是编程方面的业余爱好者,并且遇到了一个错误,上面写着“运行时检查失败#2 - 变量'存储'周围的堆栈已损坏。”我之前查了过这个错误,但是我没有看到任何适用于我想要做的修复。似乎这种错误可能由于各种原因而发生。
我的代码完全符合我的要求,但我不明白为什么会出现此错误,如果有人能向我解释,我会非常感激。谢谢!
#include <iostream>
using namespace std;
int main()
{
int store[4] = {};
for (int i = 0; i != 5; i++)
{
cout << "Enter the sales of store " << (i + 1) << ": ";
cin >> store[i];
}
cout << "\nSALES BAR GRAPH\n(Each * represents $100)\n";
for (int i = 0; i != 5; i++)
{
int a = (store[i] / 100);
cout << "\nStore " << (i + 1) << ": ";
for (int i = 0; i < a; i++)
{
cout << "*";
}
}
cout << "\n";
system("pause");
}
答案 0 :(得分:1)
您的for
循环不正确:
for (int i = 0; i != 5; i++)
如果您声明store[4]
,则会引用int store [4]
,这超出范围。如果要将商店大小保持为4,则应将循环更改为:
for (int i = 0; i < 4; i++)