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

时间:2015-03-23 16:57:35

标签: c++

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

#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;
}

编辑:输错我的变量名称,感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

此循环

  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。