C++ 如何创建从0缩放到用户输入的数组

C++ 如何创建从0缩放到用户输入的数组,c++,C++,我试图创建一个程序,根据用户输入打印出一个数组。数组需要从0开始并缩放到用户输入的数字。因此,如果用户输入5,数组值将为[0][1][2][3][4][5]。出于某种原因,我的代码只是打印出0 #include <iostream> using namespace std; int main() { cout << "Enter the value of n: "; int n; cin >> n; int *arr1 = new int[n]; for(

我试图创建一个程序,根据用户输入打印出一个数组。数组需要从0开始并缩放到用户输入的数字。因此,如果用户输入5,数组值将为[0][1][2][3][4][5]。出于某种原因,我的代码只是打印出0

#include <iostream>
using namespace std;

int main() {
cout << "Enter the value of n: ";
int n;
cin >> n;
int *arr1 = new int[n];

for(int i = 0; i < n; i ++){
    arr1[i] = 0;

}
cout << *arr1 << endl;

delete [] arr1;
return 0;
}
#包括
使用名称空间std;
int main(){
cout>n;
int*arr1=新的int[n];
对于(int i=0;i您的代码中几乎没有bug

当n=5时,您希望输出为[0][1][2][3][4][5]。因此您的输出有(n+1)个元素。因此您的数组也应该有(n+1)个元素

int *arr1 = new int[n + 1];
在代码中,您将0分配给数组中的每个元素。但您希望数组包含0、1、2、…、n

for(int i = 0; i < n + 1; i++){
  arr1[i] = i;
}
for(int i=0;i
在代码中,只打印第一个元素。*arr1与arr1[0]相同。因此,需要另一个for循环来打印数组中的每个元素

for(int i = 0; i < n + 1; i++){
  cout << "[" << arr1[i] << "]" << endl;
}
for(int i=0;icout
arr1[i]=0;
…每当你认为“动态数组”时,你就会将数组中的每个值都设置为零。至于你的问题,也许有人会帮助你理解发生了什么?试试
arr1[i]=i
。哦,
*arr1
等于
arr1[0]
。您做了哪些更改?他们为什么要解决OP的问题?请不要鼓励cargo cult编程。@某个程序员我改进了答案,以便更好地反映原始代码中的问题。