I feel really dumb, but I don't get how sometimes in C, I can have:
int i[2];
i[2] = 3;
printf("%d, i[2]);
and it'll still output 3. Shouldn't this be outputting junk/give an error since i[2] is out of bound? (using gcc if that makes a difference, as I've been testing this on online editors and they thankfully return an error..)