我也遇到过,当我写代码很奇怪的问题,这是我的C++代码:很奇怪的C++错误
#include <iostream>
using namespace std;
int main()
{
int qnum;
cin >> qnum;
int series[3];
cin >> series[3];
cout << qnum;
}
例如,如果我的qnum输入2和5系列[3] qnum的价值将在代码。此问题的最后一行覆盖将只有当一系列的输入3.新的唯一的解决办法是增加发生“静态”属性qnum,就像这样:
#include <iostream>
using namespace std;
int main()
{
static int qnum;
cin >> qnum;
int series[3];
cin >> series[3];
cout << qnum;
}
有什么建议吗?
您可以从0开始计数。因此,串联的最后一个有效索引是[2] –
您应该在启用所有警告的情况下编译您的代码。每个体面的编译器都应该警告这样的事情。 – pmr
@pmr:我想,取决于你对“体面”编译器的定义。 GCC没有'-Wall -Wextra'(尽管也许有一些其他更隐蔽的标志可以检测到这一点)。 –