所以我试图适应我的硬件作业的数组。我有两个循环。第一个循环遍历序列,这很好,我想我不知道。然后第二个循环应该根据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。