C-like languages feature two versions (pre- and post-) of each operator with slightly different semantics.
Pointers values are increased (or decreased) by an amount that makes them point to the next (or previous) element adjacent in memory.
[16] Thompson went a step further by inventing the ++ and -- operators, which increment or decrement; their prefix or postfix position determines whether the alteration occurs before or after noting the value of the operand.
People often guess that they were created to use the auto-increment and auto-decrement address modes provided by the DEC PDP-11 on which C and Unix first became popular.
This feature probably suggested such operators to Thompson; the generalization to make them both prefix and postfix was his own.
Indeed, the auto-increment cells were not used directly in implementation of the operators, and a stronger motivation for the innovation was probably his observation that the translation of ++x was smaller than that of x=x+1.