In the ifstatement, when the conditional expression evaluates to a nonzero value, the
computer will jump to the statements controlled by the ifstatement and execute them
right away. If the expression evaluates to a value of zero, the computer will ignore those
statements controlled by the ifstatement.
Why are -12 and 6 the expected outputs? The man page says (vaguely) that the return values are 0, some value greater than zero, or some value less than zero. I somehow remember them as -1, 0 and 1, but I may be getting that from other languages.