Why does this code work? I have an array of 2 elements and it should overflow, but it does not even give me an error on Linux using gcc. Instead, it works and outputs 5.
int doS(int a[2])
{
printf("%d", a[4]);
}
int main()
{
int rows =2;
int a[rows];
a[0] = 1;
a[1] = 2;
a[2]= 3;
a[3] = 4;
a[4] = 5;
doS(a);
}