dengjiaxi 发表于 2020-11-13 04:21:38

有点不懂

#include <stdio.h>
#include <math.h>

void main ()
{
        int z;
        float pi,t,m;
        z = 1;
        t = 1.0;
        pi = 0;
        m = 1.0;
       
        while (fabs(t) > 1e-6)
        {
                pi = pi + t;
                m = m + 2;
                z = -z;
                t = z / m;
        }
        pi = pi * 4;
        printf("%10.6f\n",pi);
}


大家看看这个程序,是求pi的
最后输出的时候是%10.6f这个
结果是3.141592
我的不明白之处是为什么是10.6f
.6f我知道是什么意思,就是小数点后六位,那前面的10是指除开小数点外有几位数吗?
如果是的话结果总共7位,那就表示在3的前面还有3个空格的意思吗?
不知道我想的是不是对的
还有这个10有没有必要一定要加上去
求大佬解释一下

昨非 发表于 2020-11-13 08:24:41

10是规定输出的总宽度
因为你限制了只有小数点后六位,而整数只有一位
所以一共就7位

羽翮 发表于 2020-11-13 09:03:06

你想的是对的哇,不过我理解的是要算上小数点的,也就是你后面的浮点数是8位,前面应该有两个空格的
10限定输出总长度,有没有必要我也不太确定,暂时还在学习中{:10_266:}
页: [1]
查看完整版本: 有点不懂