[英]very strange C++ error
我在編寫代碼時遇到了一個非常奇怪的問題,這是我的C ++代碼:
#include <iostream>
using namespace std;
int main()
{
int qnum;
cin >> qnum;
int series[3];
cin >> series[3];
cout << qnum;
}
例如,如果我為qnum輸入2,為series [3]輸入5,則qnum的值將在代碼的最后一行中被覆蓋。僅當series輸入為3時,才會出現此問題。new的唯一解決方案是向qnum添加“ static”屬性,如下所示:
#include <iostream>
using namespace std;
int main()
{
static int qnum;
cin >> qnum;
int series[3];
cin >> series[3];
cout << qnum;
}
有任何想法嗎?
沒有series[3]
。 只有series[0]
, series[1]
和series[2]
(數組從0到N-1)。
您正在注銷數組的末尾,這將導致未定義的行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.