为什么C语言printf输出%.6f时(存放的数据是0),会显示-0.000000,编译器是DEV

为什么C语言printf输出%.6f时(存放的数据是0),会显示-0.000000,编译器是DEV

if(fabs(d)<=1e-6)
{
printf("x1=x2=%8.6f\n",x1);
}

是输出0.000000 前面没有-号的
printf中,%8.6f表示显示一个浮点数(float类型),8表示至少显示8个字符,如果不足8个字符在前面补空格。.6表保留小数点后面6位数字,如果不够6位小数的话,就在后面用0补齐6位小数。

#include<stdio.h>

int main()
{
    int x1=0;
    printf("x1=%8.6f\n",x1);
    return 0;
}

img

%8.6f是八位有效数字,小数点后有6位,不够就补0

不会啊,查看一下是不是多输出了-号