在 c++ 和程序中使用循环遍历数组说"exit status -1"?



所以我试图适应我的硬件作业的数组。我有两个循环。第一个循环遍历序列,这很好,我想我不知道。然后第二个循环应该根据size_of_array的大小显示用户输入的所有输入(在本例中为 5,因此用户输入的应该是 5 辆汽车(。

当我运行它时,第一部分在接受输入方面工作得很好,但第二部分 F R E A K S 输出并给我"退出状态 -1"wtf?!?!?!??!

感谢帮助:

#include <iostream>
using namespace std;
int main() 
{
  int size_of_array = 5;
  string ideal_cars[size_of_array];
  int count;
  for (count = 1; count <= size_of_array; count++)
  {
    cout << "Enter car number " << count << "." << "n";
    cin >> ideal_cars[count];
  }
  for (count = 0; count <= size_of_array; count++)
  {
    cout << "You entered " << ideal_cars[count] << ".";
  }

}
数组

的第一个索引是0,所以当size_of_array为5时,可能的索引是0,1,2,3,4。

  • 第一个元素是 ideal_cars[0]
  • 第二个元素是 ideal_cars[1]
  • 第三个元素是 ideal_cars[2]
  • 第 4 个元素是 ideal_cars[3]
  • 第 5 个元素是 ideal_cars[4]

ideal_cars[5]超出范围且不允许。有关图形插图,请参阅 http://www.cplusplus.com/doc/tutorial/arrays。

所以在你的 for 循环中,你需要确保count小于且不等于size_of_array

for (count = 0; count < size_of_array; count++)

例:

#include <iostream>
using namespace std;
int main() 
{
  int size_of_array = 5;
  string ideal_cars[size_of_array];
  int count;
  for (count = 0; count < size_of_array; count++)
  {
    cout << "Enter car number " << count << "." << endl;
    cin >> ideal_cars[count];
  }
  for (count = 0; count < size_of_array; count++)
  {
    cout << "You entered " << ideal_cars[count] << "." << endl;
  }
  return 0;
}

演示:https://ideone.com/LWbSeu。

相关内容

  • 没有找到相关文章

最新更新