C语言中%5.3d中.3是什么意思

如题所述

%5.3d表示
默认使用5的宽度,如果小于5个宽度的话
.3表示使用3位精度,保留3个数字,如果只有1位,用0在数字前补充;所以你输入6,会出现* 006*,0前有2个空格
如果是5.5,则*00006*;如果是5.6,则因为精度数字大于宽度,所以是*000006*,有问题一起交流哈。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-18
这个会输出一个错误的数字,.3表示小数点后三位,但是输出格式是d,也就是十进制整数,感觉输出不确定吧追问

是正确的

本回答被网友采纳
第2个回答  2014-03-18
3是指你输出浮点数的时候 小数位后面的位数是3位 比如说我有一个数 123.456789 这个数只会输出到 123.456追问

那输入6泥

追答

很简单啊 3是小数点后面的列位 6就是小数点前面的啊 如果数据的长度比指定的6位长的话 比如1234567.654321 原封不动的输出 如果比指定的小的话比如是12345.54321五位就加在1的前面加空格补齐

追问

为什么会是
** 006**

追答

?能说明白一点吗

第3个回答  2014-03-18
.3是实型数据的精度,也就是小数点的个数.追问

那输入6呢

追答

如果是 .6 的话,小数点的个数就是6,但是你说输入6而已,此时的6就是宽度了.

追问

为什么会是
** 006**

第4个回答  推荐于2018-01-03
a=3.141592;
printf("%5.3d",a); /* 5 是取五位数 .3表示 取三位小数 这个结果是 3.141 (注意3.141前面有个空格);*/追问

输入6呢

本回答被网友采纳
相似回答