All binary and ternary operators MUST be padded on the left and right by one
space, including assignment operators.
Prefix and suffix operators MUST NOT be padded, neither on the left nor
on the right.
When necessary, padding is done with a single whitespace.
The . and -> operators MUST NOT be padded, neither.
This is wrong:
x+=10*++x;
y=a?b:c;
This is correct:
x += 10 * ++x;
y = a ? b : c;
There MUST NOT be any whitespace between the function and the opening
parenthesis for arguments in function calls.
"Functional" keywords MUST be followed by a whitespace, and their
argument(s) MUST be enclosed between parenthesis.
Especially note that sizeofis a keyword, while
exitis not.
Expressions MAY span over multiple lines. When a line break occurs
within an expression, it MUST appear just after a binary operator,
in which case the binary operator MUST NOT be padded on the right by a
whitespace.