我想制作一个程序,让用户在数组中插入一些数字,然后再打印出来。问题是当我试图做到这一点(可以说我的数组的大小为100),那么: 它应该做什么:插入 - 1,2,3,4,5
- >应该打印1,2,3,4,5
但是,它打印 - >1,2,3,4,5,0,0,0,0,0,0, ....
直到我的数组大小。 有什么办法可以摆脱那些零? 代码:当打印出在堆上声明的数组时,会返回零。 C++
int SIZE = 100;
int main()
{
int *numbers;
numbers = new int[SIZE];
int numOfElements = 0;
int i = 0;
cout << "Insert some numbers (! to end): ";
while((numbers[i] != '!') && (i < SIZE)){
cin >> numbers[i];
numOfElements++;
i++;
}
for(int i = 0; i < numOfElements; i++){
cout << numbers[i] << " ";
}
delete [] numbers;
return 0;
}
首选在手动分配的数组上使用'std :: vector'(或'std :: array')。 – You
你想在这里做些什么'数字[i]!='!''? – P0W
您检查“!!”的错误数组条目。每一个条目都会被检查,但是你要把输入放在那里导致这种情况非常没用。如果你输入了''!'',你应该检查循环中的输入和'break'。 – jotasi