#include <iostream>
#include <string>
using namespace std;
int main()
{
int i;
int a[14];
int b[14];
for (i=0; i<15; i++)
{
cin >> a[i];
b[i]=(a[i] % 37);
};
for (i=0; i<15; i++)
{
cout << b[i] << "\n";
};
return 0;
}
我的程序输入15个值并以模37输出每个值。结果很完美,但由于某些原因我无法弄清楚,程序最终崩溃了(&#34;程序停止工作&#34 ;)
答案 0 :(得分:7)
在大多数编程语言中,数组索引从0开始。这意味着代码中的索引“13”是最后一个。
您需要将--line-buffered
Force output to be line buffered. By default, output is line
buffered when standard output is a terminal and block buffered
otherwise.
替换为i < 15
:
i < 14
for (i=0; i < 14; i++)
是第一个元素,0
- 最后一个
答案 1 :(得分:2)
int a[14];
表示有14个元素。
但由于迭代从0
开始,您将尝试访问不存在的第15个元素。将您的循环更改为< 14