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
Valor devuelto
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