表示长双值

时间:2014-12-26 17:20:45

标签: c printf floating-point-precision

我想知道如何在long double中重新创建值。 是L还是LF。我问这个,因为在某些地方我读过它是L和一些LF。 在其中一个考试答案和一些像indiabix这样的网站中,它是L和一些堆栈溢出帖子的LF。

3 个答案:

答案 0 :(得分:5)

  

浮动后缀

之一
   f l F L

(C99§6.4.4.2¶1)

  

未加浮动的常量类型为double。如果以fF为后缀,则为   输入float。如果以lL为后缀,则其类型为long double

(ibidem,¶4)

答案 1 :(得分:0)

使用"%f"对于float和double,无论如何都会转换为double。

long double数据类型可以包含这些转换说明符%Le,%LE,%Lf,%LG,%Lg,

答案 2 :(得分:-1)

摘自"C how to program", Deitel, 7th edition,p168:

  

数据类型:long double,printf转换说明符:%Lf,scanf   转换说明符:%Lf

     

数据类型:double,printf转换说明符:%f,scanf转换   说明符:%LF

因此,在这两种情况下,您的答案都是%Lf