我注意到这段代码编译但我不明白为什么:
int main() {
double z = 0.000000000000001E-383DD;
}
Run Code Online (Sandbox Code Playgroud)
但我不确定DD数字的末尾是什么意思.我看过标准,但没有提到这一点.
我从以下命令获得了这个数字:
$ gcc -dM -E - < /dev/null
#define __DBL_MIN_EXP__ (-1021)
#define __FLT_MIN__ 1.17549435e-38F
#define __DEC64_DEN__ 0.000000000000001E-383DD
...
Run Code Online (Sandbox Code Playgroud)
这可能是GCC扩展吗?