Explanation The Boolean literals are the keywords true and false. They are prvalues of type bool.
For the built-in logical OR operator, the result is true if either the first or the second operand (or both) is true. This operator is short-circuiting: if the first operand is true, the second operand is not evaluated. Note that bitwise logic operators do not perform short-circuiting.
The C programming language, as of C99, supports Boolean arithmetic with the built-in type _Bool (see _Bool). When the headerfloating constants are values of type float, double, or longdouble predefined constants true / false are values of type bool predefined constant nullptr is a value of type nullptr_t (since C23)
Value categories Evaluation order and sequencing Constants and literals Integer constants Floating constants Character constants true / false(C23) nullptr(C23) String literals Compound literals (C99) Constant expressions Implicit conversions Operators Member access and indirection Logical - Comparison Arithmetic - Assignment Increment and ...