在c ++中使用循环迭代数组,程序说“退出状态-1”?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c ++中使用循环迭代数组,程序说“退出状态-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 << "." << "
";
    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]
  • 第四个元素是ideal_cars[3]
  • 第五个元素是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;
}

但是:くzxswいい。

以上是关于在c ++中使用循环迭代数组,程序说“退出状态-1”?的主要内容,如果未能解决你的问题,请参考以下文章

在 React 中使用数组键迭代循环状态对象

哪一个更适合访问数组?

C中如何实现数组的传值引用

C++基于范围的for循环详解

如何在c ++中迭代数组中的唯一元素[关闭]

C ++变量作为数组内的数据