Provided by: manpages-es_1.55-10_all bug

NOMBRE

       assert - aborta el programa si la expresión es falsa.

SINOPSIS

       #include <assert.h>

       void assert (int expression);

DESCRIPCIÓN

       Si la macro NDEBUG estaba definida en el momento en que <assert.h> fue incluido por última
       vez, la macro assert() no genera ningún código,  y  por  tanto  no  hace  nada.   En  caso
       contrario, la macro assert() imprime un mensaje de error a la salida estándar y termina el
       programa llamando a abort() si expression es falsa (es decir, es igual a cero).  Esto sólo
       sucede cuando la macro NDEBUG está sin definir.

       El  propósito de esta macro es ayudar al programador a encontrar fallos en su programa. El
       mensaje "aserto fallido en el fichero foo.c, función do_bar(), línea 1287" no es de  ayuda
       en absoluto para un usuario.

VALOR DEVUELTO

       No se devuelve ningún valor.

CONFORME A

       ISO  9899  (ANSI C). En el estándar de 1990, expression debe ser de tipo int , teniendo un
       comportamiento indefinido si no es así, pero en el estándar de 1999 puede tener  cualquier
       tipo escalar.

FALLOS

       assert()  es  implementada  como  un  macro;  si  la  expresión  comprobada  tiene efectos
       laterales, el comportamiento del programa puede ser diferente  dependiendo  de  si  NDEBUG
       está  definida  o  no.  Esto  puede crear fallos indeterminados (Heisenbugs) que no se dan
       cuando la depuración está activada.

VÉASE TAMBIÉN

       exit(3), abort(3), assert_perror(3)