Relational/Logical Expressions
Any values can be used in logical expressions. Zero (0) is interpreted as false; any nonzero values (such as 1, -1, 5) are interpreted as true.
The results of relational or logical operations are always 0 or 1.
Examples:
x = 5;
y = !x; /* y gets 0 */
z = x || y; /* z gets 1 */