Macro de biblioteca C - ERANGE

Descripción

Como se mencionó anteriormente, la macro de la biblioteca C ERANGE representa un error de rango, que ocurre si un argumento de entrada está fuera del rango, sobre el cual se define la función matemática y errno se establece en ERANGE.

Declaración

A continuación se muestra la declaración de ERANGE Macro.

#define ERANGE some_value

Parámetros

  • NA

Valor devuelto

  • NA

Ejemplo

El siguiente ejemplo muestra el uso de ERANGE Macro.

#include <stdio.h>
#include <errno.h>
#include <math.h>

int main () {
   double x;
   double value;

   x = 2.000000;
   value = log(x);
   
   if( errno == ERANGE ) {
      printf("Log(%f) is out of range\n", x);
   } else {
      printf("Log(%f) = %f\n", x, value);
   }

   x = 1.000000;
   value = log(x);
   
   if( errno == ERANGE ) {
      printf("Log(%f) is out of range\n", x);
   } else {
      printf("Log(%f) = %f\n", x, value);
   }
   
   x = 0.000000;
   value = log(x);
   
   if( errno == ERANGE ) {
      printf("Log(%f) is out of range\n", x);
   } else {
      printf("Log(%f) = %f\n", x, value);
   }
   
   return 0;
}

Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:

Log(2.000000) = 0.693147                                      
Log(1.000000) = 0.000000                                      
Log(0.000000) is out of range