C语言中想输出double和long double型分别用啥控制字符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中想输出double和long double型分别用啥控制字符?相关的知识,希望对你有一定的参考价值。

%后面接什么?

参考技术A 这个很简单丫!
如果是【输出printf】的输出项是double或float时,可以用f或e作为格式描述字符,(其中double也可以用%lf或%le)。
注意:如果是【输入scanf】的输入项为double时,则必须用%lf或%le【必须有个l】作为格式描述字符。位于输入项为float与上面的一致。
这个很重要哦!特别是scanf,别搞错了,二级选择题都会考哦!

c语言long double 怎么输入,输出阿?

要准确的格式,不要猜测;

1、首先在visual studio中用c#语言进行类型转换,新建项目命名"longdouble"。

2、在项目中,新建类文件program.cs,运行项目如下图所示。

3、用java语言进行类型转换,在软件开发平台建立java项目,命名为”longdouble"。

4、 在此java项目中,新建类longtudouble.java,在main函数中用强制类型转换将long型转为double型。

5、 在此java项目中,新建类doubletolong.java类文件,用强制类型转换将double转为long。

6、用c语言进行类型转换,在项目中新建longdoublec。

7、运行此项目,项目代码和运行效果如下图所示。

参考技术A

在C语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf, sprintf, fprintf等。这类函数输出时要求有格式符号,其中long double的格式符号为%llf

以下是一个简单的参考代码,输出到标准输出设备。

#include <stdio.h>
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占用的空间值。

参考技术B void main()

long double lf;
scanf("%lf", &lf);
printf("%lf\n", lf);
本回答被提问者采纳

以上是关于C语言中想输出double和long double型分别用啥控制字符?的主要内容,如果未能解决你的问题,请参考以下文章

(C语言)unsigned long类型变量输出时,格式转换说明符应如何定义?

c语言double类型输出问题及字符输入问题

C语言 双精度类型(double)变量的输入问题

C语言中double要输出几位小数?

c语言 %d %f %lf %d可表示的最大和最小范围是多少?超过了范围 计算机怎么显示

C语言double用百分号啥