assert - Abort the program if assertion is false.
void assert (int expression));
assert() prints an error message to standard output and ter-
minates the program by calling abort() if expression is
false (i.e., compares equal to zero). This only happens
when the macro NDEBUG is undefined.
No value is returned.
ISO9899 (ANSI C)
assert() is implemented as a macro; if the expression tested
has side - effects, program behaviour will be different
depending on whether NDEBUG is defined. This may create
Heisenbugs which go away when debugging is turned on.