[英]Where is the FLT_MAX macro defined?
我尝试查看float.h头文件,发现的全部是
# define FLT32_MAX FLT_MAX
但是,不是吗
# define FLT_MAX (some number)
但是我找不到这种定义,所以我想知道FLT_MAX宏的定义在哪里?
在C语言中,宏FLT_MAX
在标准头文件<float.h>
定义。
在系统上检查名为float.h
的文件,但未找到FLT_MAX
的定义不会证明任何事情。 您可能正在查看错误的文件。 可以想象<float.h>
甚至可能不是文件。
该程序:
#include <stdio.h>
#include <float.h>
int main(void) {
printf("FLT_MAX = %g\n", FLT_MAX);
}
应该编译并正确运行。 如果不是,则您的系统以某种方式损坏。 如果是这样,您也许可以哄您的编译器告诉您<float.h>
。 例如,如果您在类似UNIX的系统上使用gcc:
gcc -E
filename.c | grep 'float\\.h'
| grep 'float\\.h'
所述<float.h>
报头不应该定义名为宏FLT32_MAX
,至少不会在符合模式。 这是非标准的,位于用户名空间中,因此程序应该能够出于自己的目的使用该名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.