您好,今天小花就为大家解答关于long double和double有什么区别相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、%f 是输出 float 型变量;%f 是输出 double 型变量;%Lf 是输出 long double 型变量。

2、2、在C语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf, sprintf, fprintf等。

3、这类函数输出时要求有格式符号,其中long double的格式符号为%Lf以下是一个简单的参考代码,输出到标准输出设备。

4、#include int main(){long double v = 1.23;printf("%Lf", v);//采用%llf格式输出long double 类型return 0;}关于long double, 需要说明的是,在原始的C标准中是没有这个类型的,C99中才添加了该类型。

5、而在C99及后续的规范中,对于该类型规定的也并不详细,只是要求long double类型在精度上需要不少于double的精度。

6、于是就出现了有的编译器不支持long double, 而支持的编译器在实现上也有所区别,目前常见的long double有占用8字节,10字节,12字节和16字节四种,但输出格式都是相同的%lf。

7、 如果想知道使用的编译器是如何实现的,可以用printf("%d", sizeof(long double));输出long double占用的空间值。

本文就讲到这里,希望大家会喜欢。