域名命名网站,网站百度搜索情况和反链接优化建议,华润置地建设事业部官方网站,省建设厅网站查询目录
1.errno 变量
2.宏 1.errno 变量
errno.h 声明了一个 int 类型的 errno 变量#xff0c;用来存储错误码#xff08;正整数#xff09;。
如果这个变量有非零值#xff0c;表示已经执行的程序发生了错误。
#include errno.h
#include stdio.h
#in…目录
1.errno 变量
2.宏 1.errno 变量
errno.h 声明了一个 int 类型的 errno 变量用来存储错误码正整数。
如果这个变量有非零值表示已经执行的程序发生了错误。
#include errno.h
#include stdio.h
#include math.h
#include stdlib.hint main() {int x -1;errno 0;int y sqrt(x);if (errno ! 0) {fprintf(stderr, sqrt error; program terminated.\n);exit(EXIT_FAILURE);}return 0;
}
上面示例中计算一个负值的平方根是不允许的会导致errno不等于0。
如果要检查某个函数是否发生错误必须在即将调用该函数之前将errno的值置为0防止其他函数改变errno的值。
2.宏
变量errno的值通常是两个宏EDOM或ERANGE。这两个宏都定义在errno.h。它们表示调用数学函数时可能发生的两种错误。
定义域错误EDOM传递给函数的一个参数超出了函数的定义域。例如负数传入sqrt()作为参数。取值范围错误ERANGE函数的返回值太大无法用返回类型表示。例如1000 传入exp()作为参数因为 e^1000 太大无法使用 double 类型表示。
使用数学函数时可以将errno的值与 EDOM 和 ERANGE 比较用来确定到底发生了哪一类错误。