如果把代码中的long double 替换成double且%Lf替换成%f运行结果是这样的
查过资料%Lf应该是合法的,但是总是出现警告。%lld也会出现类似警告。实在不知道为什么?
lf的l是小写的。
在使用scanf和printf函数时要加上#include 。其中scanf()是格式输入函数,printf()函数是格式化输出函数。
在原始的C标准中是没有这个类型的,C99中才添加了该类型。而在C99及后续的规范中,对于该类型规定的也并不详细,只是要求long double类型在精度上需要不少于double的精度。于是就出现了有的编译器不支持long double, 而支持的编译器在实现上也有所区别,目前常见的long double有占用8字节,10字节,12字节和16字节四种,但输出格式都是相同的%lf。 如果想知道使用的编译器是如何实现的,可以用printf("%d", sizeof(long double));输出long double占用的空间值。
应该是编译器的支持的问题,你这个long double估计和double是一样的
有可能是编译器的问题