满意答案
pizi0010
推荐于 2017.09.22
采纳率:47% 等级:8
已帮助:713人
在c语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf,
sprintf,
fprintf等。这类函数输出时要求有格式符号,其中long
double的格式符号为%llf
以下是一个简单的参考代码,输出到标准输出设备。
#include
int main()
{
long double v = 1.23;
printf("%llf\n", v);//采用%llf格式输出long double 类型
return 0;
}
关于long
double,
需要说明的是,在原始的c标准中是没有这个类型的,c99中才添加了该类型。而在c99及后续的规范中,对于该类型规定的也并不详细,只是要求long
double类型在精度上需要不少于double的精度。于是就出现了有的编译器不支持long
double,
而支持的编译器在实现上也有所区别,目前常见的long
double有占用8字节,10字节,12字节和16字节四种,但输出格式都是相同的%llf。
如果想知道使用的编译器是如何实现的,可以用printf("%d",
sizeof(long
double));输出long
double占用的空间值。
00分享举报