mikroC
making it simple...
Logical OperatorsmikroC - C Compiler for Microchip PIC microcontrollers
Operands of logical operations are considered true or false, that is
Logical operators && and associate from left to right. Logical negation operator ! associates from right to left.
Logical Operators Overview
Operator | Operation | Precedence |
|
|
|
&& | logical AND | 5 |
|
|
|
logical OR | 4 | |
|
|
|
! | logical negation | 14 |
|
|
|
Precedence of logical, relational, and arithmetic operators was chosen in such a way to allow complex expressions without parentheses to have expected meaning:
c >= '0' && c <= '9'; // reads as: (c>='0') && (c<='9')
a + 1 == b ! f(x;) // reads as: ((a+1)== b) (!(f(x)))
Logical AND (&&) returns 1 only if both expressions evaluate to be nonzero, otherwise returns 0. If the first expression evaluates to false, the second expression is not evaluated. For example:
a > b && c < d; // reads as: (a>b) && (c<d)
// if (a>b) is false (0), (c<d) will not be evaluated
Logical OR () returns 1 if either of the expressions evaluate to be nonzero, otherwise returns 0. If the first expression evaluates to true, the second expression is not evaluated. For example:
a && b c && d; // reads as: (a && b) (c && d) // if (a&&b) is true (1), (c&&d) will not be evaluated
|
| page |
|
MikroElektronika: Development tools - Books - Compilers | 107 | ||
|
|