Macro de bibliothèque C - ERANGE

La description

Comme mentionné ci-dessus, la macro de bibliothèque C ERANGE représente une erreur de plage, qui se produit si un argument d'entrée est en dehors de la plage, sur laquelle la fonction mathématique est définie et errno est défini sur ERANGE.

Déclaration

Voici la déclaration de la macro ERANGE.

#define ERANGE some_value

Paramètres

  • NA

Valeur de retour

  • NA

Exemple

L'exemple suivant montre l'utilisation de la 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;
}

Compilons et exécutons le programme ci-dessus qui produira le résultat suivant -

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