Q:

Выход за пределы массива

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int a[2];
    int b[2];

    cin>>a[0]>>b[0];
    cin>>a[1]>>b[1];
    cin>>a[2]>>b[2];

    for(int i=0; i<3; i++)
    {
        cout<<a[i]<<' ';

    }
    cout<<endl;

    return 0;
}

Почему выводится ошибка, если я не выхожу за пределы массива? 

Run-Time Check Failure #2 - Stack
around the variable 'a' was corrupted.

A:

Число в объявлении массива int a[2]; -- это размер массива, количество его элементов. 
Т.е. у Вас доступны 2 элемента, а именно: a[0] и a[1].

