C allows you to express things easily which should not be easily expressable. When people do these things it is almost always in error.
That is the fault of the language.