簡體   English   中英

非常奇怪的C ++錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM