[英]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.