for循环在将第一个数字放入数组后退出

for loop exits after putting first number into array

本文关键字:数组 退出 数字 循环 第一个 for      更新时间:2023-10-16

我有一个小程序,它要求一个数组的长度,并要求将数字放入数组位置。到目前为止,它要求数组长度,并允许我输入第一个数字,但随后以非零状态退出。

#include <iostream>
int main ()
{
  int i;
  std::cout << "array length: ";
  std::cin >> i;
  int* myAarray = new int[i];
  for(int e=0, myArray; e<=i; e++){
      std::cout << "Number to put in:";
      int a;
      std::cin >> a;
      myArray[&e] = a;
  }

  return 0;
}

编辑:我的变量名打错了,谢谢你的帮助!

此循环

  for(int e=0, myArray; e<=i; e++){
      std::cout << "Number to put in:";
      int a;
      std::cin >> a;
      myArray[&e] = a;
  }

是错误的。

有效循环可能类似

  for ( int e = 0; e < i; e++ ){
      std::cout << "Number to put in:";
      int a;
      std::cin >> a;
      myArray[e] = a;
  }

我想指针的定义类似

int* myArray = new int[i];

而不是

int* myAarray = new int[i];

也就是说,它的名称是myArray。