按照C Primer Plus中文第五版中的描述,long double 在使用scanf()函数读取时,应采用“%Lf" "%Le" "%Lg"作为控制字符串. 如下代码分别在VC 2010 Express 、MinGW(gcc version 4.8.1 (tdm-2))和QT5.2.1 for Desktop MinGW4.8 32bit 三种环境下测试。 #include <stdio.h>intmain(void) {longdoublex_lon...
以下是代码和编译信息(c++) #include <cstdio> int main() { unsigned char test; scanf("%hhu",&test); printf("%hhu",test); long double a; scanf("%Lf",&a); printf("%lf",a); } 1625.cpp:9:20: warning: unknown conversion type character 'h' in format [-Wformat] 1625.cpp:9:20:...
在C语言中,使用`scanf`函数给`long double`变量赋值时,需要正确定义变量、使用正确的格式字符串`%llf`、检查输入是否正确,并在输出时使用`printf`函数显示变量的值。具体如下1定义`long double`类型的变量,例如`long double a;`1。2使用`scanf`函数时,格式字符串应为`%llf`,以确保读取的是`...
关于longdouble的困惑 关于longdouble的困惑 按照C Primer Plus中⽂第五版中的描述,long double 在使⽤scanf()函数读取时,应采⽤“%Lf" "%Le" "%Lg"作为控制字符串.如下代码分别在VC 2010 Express 、MinGW(gcc version 4.8.1 (tdm-2))和QT5.2.1 for Desktop MinGW4.8 32bit 三种环境下测试...
在进行输入操作时,long 类型的数据同样使用 %ld 进行格式化。例如,当需要从标准输入读取一个 long 类型的变量时,可以使用 scanf("%ld", &var); 这样的语句。而 long double 类型的数据则使用 %Lf 进行格式化,例如,当需要从标准输入读取一个 long double 类型的变量时,可以使用 scanf("%Lf", ...
long double 输入:scanf("%Lf",&x); printf("%.10Lf",x); 另外分析下关于数组使用消耗内存情况. int float是32位,也就是4B=32bit 当开一个10^7的数组时,消耗的内存为:10^7*4B=39063KB=38MB shortint是16位,10^7数组需要内存为19MB
由于在MSVC下double = long double,所以不论怎么混用,结果都是正确的。而在Linux下,我们发现,当存储的long double为真正的long double时(使用scanf("%Lf")),只能使用%Lf输出结果,而long double内存储的内容为double时,只能使用输出double的格式化字符串输出。
double 两个都能用long double 只能用%lf一楼说法没错,long duoble只能用%lff %lf 为格式控制字符串的一般形式: % [修饰符] 转换说明符f 为按浮点型小数输出double 为双精度型数据 必须用%lf:用于双精度型数据的输出这是在用scanf的时候要注意的,不然如果你:double j;scanf("%f...
注意:如果是【输入scanf】的输入项为double时,则必须用%lf或%le【必须有个l】作为格式描述字符。位于...
long double 是C99新出关键字,要使用,需要先确认编译器是否支持C99。可以在程序中定义 long double a;如果编译不出错,则支持。否则可能不支持。支持情况下,可以如上进行定义,赋值运算操作与其它基本类型相同。输入输出时,使用格式字符%llf。比如 scanf("%llf",&a);printf("get a's value is l...