2次输入后程序崩溃

program crashes after 2 inputs

本文关键字:崩溃 程序 输入 2次      更新时间:2023-10-16

这个程序将编译和一切,但在输入2个输入后,它将崩溃只有2个输入,不是1也不是3,只有2个而且每次都是这样

我想用输入来填充数组然后我想用第一个数组来填充多维数组的第一个数组

     #include <iostream>
const int COUNTER_NUMBER = 10;
void insert_array(int input[], int outputa[][COUNTER_NUMBER], int&number_vars);

int main()
{   
    using namespace std;
    int index1, index2, next, number_vars;
    int inputa[50];
    int outputa[50][COUNTER_NUMBER];
    cout << "type numbers you would like to input up to 50 inputs, press n if you would like to endn";
    int index = 0;
    cin >> next;
    while ((next != 'n') && (index < 50))
    {
        inputa[index] = next;
        index++;
        cin >> next;
        index = number_vars;
    }
    insert_array(inputa, outputa, number_vars);
return 0;
}
void insert_array(int inputa[], int outputa[][COUNTER_NUMBER], int& number_vars)
{
    int index1 = 0;
    int index = 0;
    int inputb = 0;
    for (index1 = 0; index1 < number_vars; index1++)
    {
        for (index = 0; index < number_vars; index++)
        inputa[index] = inputb;
        inputb = outputa[index1][COUNTER_NUMBER];
    }
}
index = number_vars;

没有初始化number_vars。因此,下次您尝试访问index时,您将获得未定义行为。

我想你的意思是相反的

number_vars = index;

编辑:
看看你的代码,你根本不需要变量index。只需使用number_vars而不是index(初始化为0并在每次读取操作时递增)。