输出的一二排没问题,但是第三排为啥输出出来全是0呢?

img


输出的一二排没问题,但是第三排为啥输出出来全是0呢?
f,Lf,llf我都试过了
都是0.000
float只有7位有效,从第8位开始就是乱码,这个没问题
double有效位有17位,也没问题
但是就是long double不知道为啥就是不对劲

long double要使用Lf输出
相关说明见下方文章与示例代码
有帮助望采纳

#include <stdio.h>
#include <string.h>
#include <stdlib.h>


int main(int argc, char const *argv[])
{
    long double c = 1234.0123456789123456789;
    printf("%.50Lf",c);
}

应该是你编译器环境的问题

img

你的第三行输出的是c,double类型,“%.50lf”输出就行了,去掉一个l就可以了