Why does C
differentiates in case of array index out of bound
#include
int main()
{
int a[10];
a[3]=4;
a[11]=3;//doe
That's not a C issue its an operating system issue. You're program has been granted a certain memory space and anything you do inside of that is fine. The segmentation fault only happens when you access memory outside of your process space.
Not all operating systems have seperate address spaces for each proces, in which case you can corrupt the state of another process or of the operating system with no warning.