Macro da biblioteca C - ERANGE

Descrição

Como mencionado acima, a macro da biblioteca C ERANGE representa um erro de intervalo, que ocorre se um argumento de entrada estiver fora do intervalo, sobre o qual a função matemática é definida e errno é definido como ERANGE.

Declaração

A seguir está a declaração para ERANGE Macro.

#define ERANGE some_value

Parâmetros

  • NA

Valor de retorno

  • NA

Exemplo

O exemplo a seguir mostra o uso da macro ERANGE.

#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;
}

Vamos compilar e executar o programa acima que produzirá o seguinte resultado -

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