C庫宏ERANGE表示范圍錯(cuò)誤發(fā)生,如果輸入?yún)?shù)范圍以外的數(shù)學(xué)函數(shù)定義和errno設(shè)置為ERANGE。
以下是聲明宏ERANGE。
#define ERANGE some_value
NA
NA
下面的例子演示了如何使用宏ERANGE。
#include <stdio.h> #include <errno.h> #include <math.h> int main() { double x; double value; x = 1.000000; value = log(x); if( errno == ERANGE ) { printf("Log(%f) is out of range ", x); } else { printf("Log(%f) = %f ", x, value); } x = 0.000000; value = log(x); if( errno == ERANGE ) { printf("Log(%f) is out of range " x); } else { printf("Log(%f) = %f ", x, value); } return 0; }
讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
Log(1.000000) = 1.609438 Log(0.000000) is out of range