#include <iostream>
using namespace std;
int main(){
int a[3], no;
cout << "Index Value\n";
for(int i = 0; i < 100; i++){
cin >> no;
a[i] = no;
cout << i << "\t" << a[i] << endl;
}
return 0;
}
ここでは[3]を初期化しました。 forループでは、a []に入力を100回入力し、インデックスは[3]を超えています。
iが4の場合、の直後にセグメンテーションエラーが発生しないのはなぜですか?です。インデックスを印刷0 4. に等しいとき
入力
1 2 3 4 5 6 7
出力
Index Value 0 1 1 2 2 3 4 0 5 5 6 6 7 7
出力が間違っています。期待される4セグメンテーションエラーが発生しないのはなぜですか?
境界外索引は未定義の動作です。定義されていない動作とセグメンテーションフォールトを検索します。 – P0W
UBは何かが可能であることを意味し、セグメント・フォルト・エラーを引き起こす必要はありません。 – songyuanyao
i init a [33] = 120&a [33]を印刷すると、120が印刷されると仮定します。 – Sparrow