Undefined, Unspecified and Implementation-Defined Behaviour
The C standard does not pin down the result of every program. It leaves some choices to the compiler on purpose, so that C can run efficiently on very different machines.
Programming in C · topic
How to tell standard behaviour from implementation-defined, unspecified and undefined behaviour, sequencing and side effects, short-circuit evaluation, constraint violations that fail to compile, and how to answer GATE options when a program has no defined output.
The C standard does not pin down the result of every program. It leaves some choices to the compiler on purpose, so that C can run efficiently on very different machines.
One-page visual sheets for this topic, in the sheet library on the store. Previews are free; the full sheets come with the subject pack.