C++ 数组中的元素是否有错误?

C++ 数组中的元素是否有错误?,c++,C++,需要帮助每次我在数组中输入元素并打印出来时,第二个元素会给我一个随机数。例如:数组[1,2,3]-->打印输出:145234,3-->但始终是第二个数字 int main () { int i,n; int * p; cout << "How many numbers would you like to type? "; cin >> i; p = new (nothrow) int[i]; for (n=0; n<

需要帮助每次我在数组中输入元素并打印出来时,第二个元素会给我一个随机数。例如:数组[1,2,3]-->打印输出:145234,3-->但始终是第二个数字

int main ()
{
    int i,n;
    int * p;
    cout << "How many numbers would you like to type? ";
    cin >> i;
    p = new (nothrow) int[i];

    for (n=0; n<i; n++)
    {
        cout << "Enter number: ";
        cin >> p[n];
    }
    cout << "You have entered: ";
    for (n=0; n<i; n++){
        cout << p[n] << ", ";
        delete[] p;
    } 
    return 0;
}
int main()
{
inti,n;
int*p;
cout>i;
p=新的(无行)整数[i];
对于(n=0;np[n];
}

cout在打印第一个元素后,您正在删除数组。您应该在循环完成后删除它。

将delete操作符移到循环之外

for (n=0; n<i; n++){
    cout << p[n] << ", ";
}

delete[] p;

for(n=0;n这是什么意思?
p=new(nothrow)int[i];
?你知道这行是什么意思吗?
for (n=0; n<i; n++){
    cout << p[n] << ", ";
}
cout << endl;

delete[] p;