Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在运行案例两次并退出后,我找不到导致阵列损坏的错误_C++ - Fatal编程技术网

C++ 在运行案例两次并退出后,我找不到导致阵列损坏的错误

C++ 在运行案例两次并退出后,我找不到导致阵列损坏的错误,c++,C++,大家好,我得到了一个运行时检查失败#2-变量“barray2”周围的堆栈已损坏。当我循环两次或更多次相同的情况时,就会发生这种情况,而当我决定用一个e来退出while循环时,就会发生这种情况。这是我的代码示例。完成后是否必须清除阵列?我尝试添加一个barray[16]={0};在打印后的箱子里,但我得到一个表达式错误,我没有得到任何线索:( #包括 #包括 #包括 使用名称空间std; int main() { int num(0),k(0); int barray[16]={0}; int n

大家好,我得到了一个
运行时检查失败#2-变量“barray2”周围的堆栈已损坏。
当我循环两次或更多次相同的情况时,就会发生这种情况,而当我决定用一个e来退出while循环时,就会发生这种情况。这是我的代码示例。完成后是否必须清除阵列?我尝试添加一个barray[16]={0};在打印后的箱子里,但我得到一个表达式错误,我没有得到任何线索:(

#包括
#包括
#包括
使用名称空间std;
int main()
{
int num(0),k(0);
int barray[16]={0};
int num2(0),k2(0);
int barray2[16]={0};
int选择(2);
综合选择2;
字符选项;
while(选项!=-1)
{

不能重新初始化计数器
k
k2

下面引用的循环在完成后将
k
k2
设置为-1。因此,在
循环的第二次循环中,您在数组之前写入一个索引:

for (k=15;k>=0;k--)
{
}

for (k2=15; k2>=0; k2--)
{
    //...
}
为清楚起见,我将在使用它的每个
循环之前显式初始化
k
/
k2

k = 0;
while ((num !=0) && (k<=15))
{ 
    //...
}
k=0;

虽然((num!=0)&&(ki)刚刚发现了这个错误,但我将其全部更改,并在每个案例运行后重置。感谢您查看
k = 0;
while ((num !=0) && (k<=15))
{ 
    //...
}