The 1988 ANSI standard made this an error (or at least undefined behavior) but the functionality persists; GCC is changing its default to prohibit it (my colleague works on clang).
“I can't recall any difficulty in making the C language definition completely open - any discussion on the matter tended to mention languages whose inventors tried to keep tight control, and consequent ill fate” “When I read commentary about suggestions for where C should go, I often think back and give thanks that it wasn't developed under the advice of a worldwide crowd.” “C is peculiar in a lot of ways, but it, like many other successful things, has a certain unity of approach that stems from development in a small group”