Arrays 动态数组C++;不正常工作

Arrays 动态数组C++;不正常工作,arrays,dynamic,sum,Arrays,Dynamic,Sum,我的动态数组有问题 演习内容如下: 让用户输入N个数字,如果用户输入数字-1,则让程序停止。最后给出所有数字的总和 例如: 第一名:10 第二名:10 第三名:-1 这些数字的总和是:20 我的代码正在运行,但它不断给出sum-1,所以sum的输出是19,而不是20 这是我的代码: int number = 0; int sum=0; int *array = new int[number]; do { cout <<"Number " << (i+1) <<

我的动态数组有问题

演习内容如下:

让用户输入N个数字,如果用户输入数字-1,则让程序停止。最后给出所有数字的总和

例如:

第一名:10

第二名:10

第三名:-1

这些数字的总和是:20

我的代码正在运行,但它不断给出sum-1,所以sum的输出是19,而不是20

这是我的代码:

int number = 0;
int sum=0;
int *array = new int[number];

do
{
cout <<"Number " << (i+1) << ": ";
cin >> array[number];
i++;
sum+=array[number];
} while (array[number] != -1);


cout <<"Sum of the numbers is: " << sum;

delete[] array;
int number=0;
整数和=0;
整数*数组=新整数[数字];
做
{
cout初始化:

int number = 0;
int *array = new int[number];
提供0大小的数组。您无法访问其“第一个”元素

 array[0]

也许你可以这样做:

bool continue = true;
while(continue)
{
    cout <<"Number " << (i+1) << ": ";
    cin >> array[number];
    i++;
    if(array[number] == -1)
        continue = false;
    else
        sum+=array[number];
}
bool continue=true;
while(继续)
{

那么它哪里出错了呢?我似乎不明白你的话。我似乎无法将它与我的总和区分开来。因为-1在第一个元素中,所以它是-1吗?非常感谢Marco!!!这很有效!我必须记住这个简单但非常有效的解决动态数组习题的方法。不客气,Kahn。祝你愉快天;)
 array[0]
bool continue = true;
while(continue)
{
    cout <<"Number " << (i+1) << ": ";
    cin >> array[number];
    i++;
    if(array[number] == -1)
        continue = false;
    else
        sum+=array[number];
}