C语言 printf("%10e",123.456789);结果问题

上面题目的结果是1.23457e+02 ,这是为什么?怎么运算的呢?
2025-02-25 11:46:08
推荐回答(3个)
回答1:

除去e,算出总位数为7+3=10,
首先解释下3,3就是那个正负号1位加上后面的数字位数2位得到3.
你要求的10位还差7位,于是把1.23456789(除了100的小数),
取前7位(包括小数点)得到1.23456.你的输入可能有问题

回答2:

%e表示按照指数形式输出,10表示位宽供占10个字符,如果不足则前面显示空格,如果有多余的则进行四舍五入计算。这里02占两个字符,小数点占一个字符,还剩下7个字符,需进行四舍五入计算。

回答3:

%10e的意思接收将数据保存成此形式,十位。怎么计算的你看下e的格式意义就明白了