该程序没有输出是因为在C语言中,浮点数默认为双精度类型,而使用%f格式符打印浮点数时,只能打印出6位小数。因此,在printf函数中,a和b的值被截断,只打印出了6位小数。如果想要打印更多位数,可以使用%.20f来表示需要打印的小数位数。修改后的代码如下:

#include <stdio.h>

int main() {
    float a = 0.12345678901234567890;
    double b = 0.12345678901234567890;
    
    printf("a=%.20f\n", a);
    printf("b=%.20f\n", b);
    
    return 0;
}

运行上述代码,就可以打印出更多位的小数。

#include stdiohmain	float a = 012345678901234567890; double b = 012345678901234567890;	printfa=30fn a; printfb=30fn b;fn前面的数字是打印位数为什么没有输出

原文地址: https://www.cveoy.top/t/topic/ilCJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录