gpt4 book ai didi

c - 哪个说明符用于打印 long double 的最大/最小值?

转载 作者:太空宇宙 更新时间:2023-11-04 05:06:35 25 4
gpt4 key购买 nike

作为一名新的 C 编程学习者,我试图了解我应该在 printf 中使用哪个说明符来显示 long double 类型的最大值和最小值。根据以下 StackOverflow 答案,我可以使用 %Lg: https://stackoverflow.com/a/18797417/1536240

但这似乎并不能解决问题。我试过 %e、%f、%Lf、%g 和 %Lg,但没有用。这是我遇到问题的代码的相关部分(我正在做的其他事情工作正常):

printf("**long double**\nStorage size: %d bytes \t Minimum value: %Lg 
\t Maximum value: %Lg\n", sizeof(long double), LDBL_MIN, LDBL_MAX);

我在顶部包含了这些头文件:

#include <stdio.h>
#include <limits.h>
#include <float.h>

我有点迷路了。

编辑:很抱歉没有解释输出是什么。我现在正在使用 %Lg,我在终端中得到了这个。

my output

最佳答案

虽然您应该在问题中提供获得的结果,但您的错误可能是使用 %d打印 sizeof 的结果, 应印有 %zu .

这会导致未定义的行为。对于某些平台,printf 的其余部分在堆栈上的参数将被误解,因为 int 的宽度与 size_t 的宽度不匹配.

关于c - 哪个说明符用于打印 long double 的最大/最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46038840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com