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占用的空间值。
long关键字表示一种整型数据类型。它的用法与int、float、double等数据类型是一样的。在输入、输出时,一般控制符使用%l
#include<stdio.h>int main()
{
long l
scanf("%l", &l)
printf("%l",l)
return 0
}