C 控制台Application1.exe触发了断点,Visual Studio 2015.array和随机数



我正在尝试在VS 2015 c++中运行此代码,但是我有一个问题:在获得正确的答案时,我也会得到错误C++ Console Application1.exe has triggered a breakpoint。我的任务是随机选择1到50之间的10个数字,显示这些数字,然后用奇数甚至数字对其进行排序。预先感谢。

#include<iostream>
#include<ctime>
using namespace std;
void main() {
    const int size = 10;
    srand(time(NULL));
    int arr[size], odd = 0, even = 0;
    for (int i = 0; i < size; i++)
    {
        arr[i] = rand() % 50 + 1;
        cout << arr[i] << 't';
    }
    cout << endl;
    int *arrOdd = new int[odd];
    int *arrEven = new int[even];
    for (int i = 0; i < size; i++)
    {
        if (arr[i] % 2 == 0) {
            arrEven[even] = arr[i];
            even++;
        }
        else
        {
            arrOdd[odd] = arr[i];
            odd++;
        }
    }
    int a = 0, b = 0;
    for (int i = 0; i < size; i++)
        if (arr[i] % 2 == 0) {
            cout << "arrEven = " << arrEven[a] << endl;
            a++;
        }
        else
        {
            cout << "arrOdd = " << arrOdd[b] << endl;
            b++;
        }
    system("pause");
}
int arr[size], odd = 0, even = 0;
//odd's and event's dont change
//...
int *arrOdd = new int[odd];
int *arrEven = new int[even];

因此,您正在尝试使用0长度

分配数组

最新更新