#include <iostream>
using namespace std;
int a[4];
int main(){
int b=7;
cout<<a[b]<<endl;
return 0;
}
割り当てられていないメモリにアクセスしようとしていました。したがって、出力はセグメンテーション違反であると予想されますが、出力はガベージ値です。
後で 'b' を 1000 に増やしたところ、出力は 'Segmentation fault' になりました。この種の行動には特定の理由がありますか?
gcc-4.3.2 コンパイラを使用しています。